A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.md 7.3KB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. title: It is important for free software to use free software infrastructure
  2. url: https://drewdevault.com/2022/03/29/free-software-free-infrastructure.html
  3. hash_url: ed7544349c2bef8c7f1bfff3ab286fd6
  4. <p><em>Disclaimer: I founded a project and a company that focuses on free software
  5. infrastructure. I will elect not to name them in this post, and will only
  6. recommend solutions I do not have a vested interest in.</em></p>
  7. <p>Free and open source software (FOSS) projects need infrastructure. Somewhere to
  8. host the code, to facilitate things like code review, end-user support, bug
  9. tracking, marketing, and so on. A common example of this is the “forge”
  10. platform: infrastructure which pitches itself as a one-stop shop for many of the
  11. needs of FOSS projects in one place, such as code hosting and review, bug
  12. tracking, discussions, and so on. Many projects will also reach for additional
  13. platforms to provide other kinds of infrastructure: chat rooms, forums, social
  14. media, and more.</p>
  15. <p>Many of these needs have <abbr title="Projects which do not use a license compatible with the Free Software guidelines, i.e. non-FOSS.">non-free</abbr>,
  16. proprietary solutions available. GitHub is a popular proprietary code forge, and
  17. GitLab, the biggest competitor to GitHub, is partially non-free. Some projects
  18. use Discord or Slack for chat rooms, Reddit as a forum, or Twitter and Facebook
  19. for marketing, outreach, and support; all of these are non-free. In my opinion,
  20. relying on these platforms to provide infrastructure for your FOSS project is a
  21. mistake.</p>
  22. <p>When your FOSS project chooses to use a non-free platform, you give it an
  23. official vote of confidence on behalf of your project. In other words, you lend
  24. some of your project’s credibility and legitimacy to the platforms you choose.
  25. These platforms are defined by network effects, and your choice is an investment
  26. in that network. I would question this investment in and of itself, the wisdom
  27. of offering these platforms your confidence and legitimacy, but there’s a more
  28. concerning consequence of this choice as well: an investment in a non-free
  29. platform is also a <em>divestment</em> from the free alternatives.</p>
  30. <p>Again, network effects are the main driver of success in these platforms. Large
  31. commercial platforms have a lot of advantages in this respect: large marketing
  32. budgets, lots of capital from investors, and the incumbency advantage. The
  33. larger the incumbent platform, the more difficult the task of competing with it
  34. becomes. Contrast this with free software platforms, which generally don’t have
  35. the benefit of large amounts of investment or big marketing budgets. Moreover,
  36. businesses are significantly more likely to play dirty to secure their foothold
  37. than free software projects are. If your own FOSS projects compete with
  38. proprietary commercial options, you should be very familiar with these
  39. challenges.</p>
  40. <p>FOSS platforms are at an inherent disadvantage, and your faith in them, or lack
  41. thereof, carries a lot of weight. GitHub won’t lose sleep if your project
  42. chooses to host its code somewhere else, but choosing <a href="https://codeberg.org">Codeberg</a>, for example,
  43. means a lot to them. In effect, your choice matters disproportionately to the
  44. free platforms: choosing GitHub hurts Codeberg much more than choosing Codeberg
  45. hurts GitHub. And why should a project choose to use your offering over the
  46. proprietary alternatives if you won’t extend them the same courtesy? FOSS
  47. solidarity is important for uplifting the ecosystem as a whole.</p>
  48. <p>However, for some projects, what ultimately matters to them has little to do
  49. with the benefit of the ecosystem as a whole, but instead considers only the
  50. potential for their project’s individual growth and popularity. Many projects
  51. choose to prioritize access to the established audience that large commercial
  52. platforms provide, in order to maximize their odds of becoming popular, and
  53. enjoying some of the knock-on effects of that popularity, such as more
  54. contributions.<sup id="fnref:1"></sup> Such projects would prefer to exacerbate the network
  55. effects problem rather than risk some of its social capital on a less popular
  56. platform.</p>
  57. <p>To me, this is selfish and unethical outright, though you may have different
  58. ethical standards. Unfortunately, arguments against most commercial platforms
  59. for any reasonable ethical standard are available in abundance, but they tend to
  60. be easily overcome by confirmation bias. Someone who may loudly object to the
  61. practices of the US Immigration and Customs Enforcement agency, for example, can
  62. quickly find some justification to continue using GitHub despite their
  63. collaboration with them. If this example isn’t to your tastes, there are many
  64. examples for each of many platforms. For projects that don’t want to move, these
  65. are usually swept under the rug.<sup id="fnref:2"></sup></p>
  66. <p>But, to be clear, I am not asking you to use inferior platforms for
  67. philosophical or altruistic reasons. These are only one of many factors which
  68. should contribute to your decision-making, and aptitude is another valid factor
  69. to consider. That said, many FOSS platforms are, at least in my opinion,
  70. functionally superior to their proprietary competition. Whether their
  71. differences are better for your project’s unique needs is something I must leave
  72. for you to research on your own, but most projects don’t bother with the
  73. research at all. Rest assured: these projects are not ghettos living in the
  74. shadow of their larger commercial counterparts, but exciting platforms in their
  75. own right which offer many unique advantages.</p>
  76. <p>What’s more, if you need them to do something differently to better suit your
  77. project’s needs, you are empowered to improve them. You’re not subservient to
  78. the whims of the commercial entity who is responsible for the code, waiting for
  79. them to prioritize the issue or even to care about it in the first place. If a
  80. problem is important to you, that’s enough for you to get it fixed on a FOSS
  81. platform. You might not think you have the time or expertise to do so (though
  82. maybe one of your collaborators does), but more importantly, this establishes a
  83. mentality of collective ownership and responsibility over all free software as a
  84. whole — popularize this philosophy and it could just as easily be you
  85. receiving a contribution in a similar manner tomorrow.</p>
  86. <p>In short, choosing non-free platforms is an individualist, short-term investment
  87. which prioritizes your project’s apparent access to popularity over the success
  88. of the FOSS ecosystem as a whole. On the other hand, choosing FOSS platforms is
  89. a collectivist investment in the long-term success of the FOSS ecosystem as a
  90. whole, driving its overall growth. Your choice matters. You can help the FOSS
  91. ecosystem by choosing FOSS platforms, or you can hurt the FOSS ecosystem by
  92. choosing non-free platforms. Please choose carefully.</p>
  93. <p>Here are some recommendations for free software tools that facilitate common
  94. needs for free software projects:</p>
  95. <p>* Self-hosted only<br>
  96. † Partially non-free, recommended only if no other solutions are suitable</p>
  97. <p>P.S. If your project is already established on non-free platforms, the easiest
  98. time to revisit this choice is right now. It will only ever get more difficult
  99. to move as your project grows and gets further established on proprietary
  100. platforms. Please consider moving sooner rather than later.</p>