{"id":6720,"date":"2017-05-03T07:03:20","date_gmt":"2017-05-03T06:03:20","guid":{"rendered":"http:\/\/emilkirkegaard.dk\/en\/?p=6720"},"modified":"2017-05-03T07:03:20","modified_gmt":"2017-05-03T06:03:20","slug":"the-foss-fragmentation-problem","status":"publish","type":"post","link":"https:\/\/emilkirkegaard.dk\/en\/2017\/05\/the-foss-fragmentation-problem\/","title":{"rendered":"The FOSS fragmentation problem"},"content":{"rendered":"<p><em>I could not find someone that briefly described this problem, so I&#8217;ll just do a very quick job at doing so. I take it that this is a common observation that I was just unable to find the right term for. And yes, I appreciate the metaness of this. :)<\/em><\/p>\n<p>The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Free_and_open-source_software\">FOSS<\/a> fragmentation problem: everybody writes their own solutions (<a href=\"https:\/\/xkcd.com\/927\/\">standards<\/a>), but because it requires a lot of work to get any major project done right and humans consistently underestimate how long it takes to do something right (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Planning_fallacy\">planning fallacy<\/a>), there&#8217;s a plethora of half-done solutions. It&#8217;s a kind of coordination problem: if people would &#8216;just&#8217; work together, we would have fewer but better solutions. There are two reasons why they generally don&#8217;t: first, people are almost always working on FOSS projects in their spare time, so there&#8217;s no boss that can order them around to focus. Second, FOSS attracts people who are prone to lone wolfery\/independently minded. Larger projects with such persons tend to split.<\/p>\n<p><em>Never claim general phenomenons without listing many examples.<\/em> Okay.<\/p>\n<p><strong>Example: Linux distributions<\/strong><\/p>\n<p>There are at least 290 Linux distributions on <a href=\"https:\/\/distrowatch.com\/dwres.php?resource=popularity\">DistroWatch<\/a>. The familial relationship between distros has been visually summarized like this (<a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_Linux_distributions\">via Wikipedia<\/a>):<\/p>\n<p><a href=\"http:\/\/emilkirkegaard.dk\/en\/wp-content\/uploads\/Linux_Distribution_Timeline.svg_.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-6721\" src=\"http:\/\/emilkirkegaard.dk\/en\/wp-content\/uploads\/Linux_Distribution_Timeline.svg_-235x1024.png\" alt=\"\" width=\"235\" height=\"1024\" \/><\/a><\/p>\n<p>Think this is complicated? You can find similar figures for singly families too.<\/p>\n<p><strong>Example: Wiki systems<\/strong><\/p>\n<p>Given that the above example image comes form Wikipedia, we might wonder&#8230; how many Wiki systems are there? Well, <a href=\"http:\/\/www.wikimatrix.org\/statistics.php\">WikiMatrix<\/a> is a searchable list and has 141. It&#8217;s totally not comprehensive. Searching just a little bit more, I was able to find <a href=\"https:\/\/wiki.python.org\/moin\/PythonWikiEngines\">an out of date list of 20 Python-based systems<\/a>. An exhaustive search of Github (and BitBucket, and SourceForge, and GitLab, and &#8230;) would turn up many more.<\/p>\n<p><em>(I could not find any family chart. Use your imagination.)<\/em><\/p>\n<p><strong>Example: forum software<\/strong><\/p>\n<p>There a sister-site to the above, <a href=\"http:\/\/www.forummatrix.org\/\">ForumMatrix,<\/a> which lists 67 forums. And there&#8217;s <a href=\"https:\/\/djangopackages.org\/grids\/g\/forums\/\">a list of 19 Django-based forums<\/a>, and there&#8217;s even other Python-based solutions too (e.g. <a href=\"https:\/\/flaskbb.org\/\">FlashBB<\/a>).<\/p>\n<p><strong>More examples?<\/strong><\/p>\n<p>You get the idea, but:<\/p>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Category:Blog_software\">82 blogging systems<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_content_management_systems\">59 CM<del>S<\/del> systems &#8230; for php<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Comparison_of_BitTorrent_clients\">40 Bittorrent clients<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Comparison_of_web_browsers\">83 browsers<\/a><\/li>\n<\/ul>\n<p><strong>The problem extends to other domains<\/strong><\/p>\n<p>The problem is most commonly seen with FOSS projects, but occurs in any domain where it&#8217;s easy to set up your own version by copying from others or recreating from scratch. The primary other example I&#8217;m thinking of is, not coincidentally, licenses for FOSS projects. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Comparison_of_free_and_open-source_software_licenses\">Wikipedia lists 54 licenses<\/a>.<\/p>\n<p><strong>Rejoiner: but some of these areas are actually dominated by a few players of good quality<\/strong><\/p>\n<p>They are, e.g. browsers have just a few top players (but due to mobile units, this seems to be fragmenting further). However, the point remains in weaker form: if people working or who worked on all the competitors that approx. no one uses had instead been focused on, say, 5 or 10 projects, these projects would have been a lot better.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I could not find someone that briefly described this problem, so I&#8217;ll just do a very quick job at doing so. I take it that this is a common observation that I was just unable to find the right term for. And yes, I appreciate the metaness of this. :) The FOSS fragmentation problem: everybody [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[2527,2528,2525,2523,2524,2526],"class_list":["post-6720","post","type-post","status-publish","format-standard","hentry","category-computer","tag-collaboration","tag-coordination-problem","tag-fork","tag-foss","tag-fragmentation","tag-split","entry"],"_links":{"self":[{"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/posts\/6720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/comments?post=6720"}],"version-history":[{"count":1,"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/posts\/6720\/revisions"}],"predecessor-version":[{"id":6722,"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/posts\/6720\/revisions\/6722"}],"wp:attachment":[{"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/media?parent=6720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/categories?post=6720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emilkirkegaard.dk\/en\/wp-json\/wp\/v2\/tags?post=6720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}