It seems doubtful to me that FOSS development in general would be an amazingly impactful way to help the world. But maybe there are ways we can identify specific development projects that are much more impactful than others. A couple of rambling thoughts below. (Disclaimer! although I do write lots of C++ code for my aerospace engineering job, I am basically a rando and I don’t know that much about the FOSS movement. Take everything I say with a big grain of salt.)
For every example of someone making a great outsized contribution (Bitcoin, Linux), aren’t there thousands of examples of people starting small projects that never get finished or attain wide adoption? Also, aren’t there many examples of private software projects becoming equally large and important (Microsoft, Google, etc)?
For an interesting perspective that is FOSS-adjacent but distinct in some major ways, you might be interested in the ideas of Jonathan Blow, a game developer who is currently developing a new programming language called Jai, in order to… do something like create a tool to help preserve the level of focus and high-level programming skill that he thinks is important for the long-term future of tech development as a field.
You seem to be saying that FOSS software development is helpful because it will advance overall economic growth (moreso than software development at a private corporation). This is certainly plausible, although I’m not sure—I feel like the most of the software that I use was created by private companies rather than FOSS efforts. (But maybe working on FOSS projects is still a better idea in terms of useful-software-produced-per-unit-of-developer-effort). It’s probably possible to find some numbers here: what’s the overall economic impact of FOSS divided by the size of the community?
It does seem likely that contributing to a
well-chosen software project is probably a great way to advance economic growth. But there is so much potential software out there—FOSS vs not-FOSS is only one choice, and I would want to try and choose wisely among many dimensions. What kind of software project could be the most useful to the most people (and thus unlock the highest amount of economic growth?), but hasn’t already been created (perhaps because there is no private/financial benefit to the developer, thus no incentive to create it)? This kind of question was probably on the minds of many of the most influential FOSS developers.
FYI I don’t think that Austin Vernon’s perspective is relevant for this choice. Yes, I agree that our civilization is probably bottlenecked more by lack of good social institutions by technology, and in the world of technology we are bottlenecked more by lack of innovation in the world of “atoms” than in the world of “bits”. Nevertheless (indeed because of those factors), software is a high-productivity high-growth part of our civilization, so doing object-level work in software is probably more effective for the average worker vs bashing one’s head against obstacles trying to do object-level work in the overregulated world of “atoms”? Especially if you are already specialized in software development, I think there are plenty of good opportunities in the world of “bits”—the trick is just to choose the right project!
Overall economic growth is important (see the 80,000 Hours episode with Tyler Cowen for a comparison/debate of economic growth vs other EA causes). But other EA causes also need software! Most notably, of course, AI safety projects are extremely software-development-intensive. There are also software projects in other areas, like the startup Wave which makes it easier to send remittances abroad, or projects to imporve the cybersecurity of Biodefense and AI research efforts (whose sensitive and dangerous secrets might otherwise get stolen by malicious actors). I don’t have a great overview of this space, but there are a lot of programmers in EA, so I’m sure somebody around here could provide a really great summary of some of the most crucial projects being worked on right now, some of which are probably FOSS and others which might not be.
Other than software development in support of specific EA causes, I maybe have another idea for where to look for especially impactful projects. Why does the FOSS movement arise in the first place? (Disclaimer: I am completely spitballing here and have no knowledge of the movement’s history, but nevertheless...) Modular software can build upon other pieces of modular software, like knowledge, so it would be socially beneficial if almost all software was FOSS. But there are usually few private incentives for software to be FOSS, since you could always try to make a buck by having the software be proprietary and charging for it. The FOSS movement seems to have evolved as a way to partially correct for that imbalance—to provide social incentives that make up for the lack of financial compensation intrinsic to FOSS development. In this sense, the FOSS movement is like EA—both are social movements that encourage the creation of public goods that would otherwise go tragically un-incentivized. At the same time, the FOSS movement has been around for a while, and it has not taken over the world (I suspect most software is still developed privately), so it must be naturally limited in some ways. (Cross our fingers that the same does not happen to EA as well!! Unfortunately it probably will.)
But with software moreso than with EA, I am optimistic that, in addition to contributing to the existing pro-public-goods social movement, we can also find other ways to encourage and incentivize more public goods production. To some extent, crypto represents a big advance here—crypto protocols like Bitcoin are technically FOSS, but unlike most FOSS projects, you can get really rich if you create a useful crypto project! Thus, projects in the crypto space are properly incentivized, fueling a boom in development activity much bigger than the ideologically and socially driven “cypherpunks” movement was able to manage earlier. Perhaps some extension of crypto ideas could help incentivize other, non-crypto software projects? (Maybe using some crypto tool, each new FOSS project could easily allow users of the software to pay to establish bug-bounties or to request new features?) I am particularly interested in incentive design systems like Gitcoin, which seek to systematically fund the socially-optimal level of public goods provision. Gitcoin’s quadratic funding mechanism is interesting because it could potentially scale up far beyond software development, to become a general governance technique for promoting public goods in many areas of society.
Similarly, it’s also conceivable that certain software projects could get leverage by making it easier for other developers to collaborate or work more efficiently. Git is probably the best example here, but this could also include stuff that (for example) makes it easier for people in India or Latin America to work remotely and get paid western wages for working on software projects, as a kind of virtual immigration.
...Alright, hopefully something in this incoherent brain-dump was helpful! I guess my overall theme here is that FOSS vs non-FOSS is just one of many considerations I’d want to think hard about when trying to guess at what software projects have the best long-term impact on the world. Working on EA-specific projects is obviously promising, as perhaps is Gitcoin-y incentive-design stuff that could solve the whole problem of needing a big social movement to encourage public goods production. And I’m sure there’s a lot of other promising leads that I know nothing about! Best of luck to you in that difficult prioritization & forecasting endeavor, which is so core to the project of EA!
thanks, these are some really interesting thoughts. some comments:
For every example of someone making a great outsized contribution (Bitcoin, Linux), aren’t there thousands of examples of people starting small projects that never get finished or attain wide adoption?
i think this is true. but i think it’s true for most career choices / endeavours that they only make sense for people who have the right skill set, drive, personality and so on.
i found some estimates for the eu (pdf) -- around 8% of around 3.1 million programmers are involved in open source, however spending on average less than 10% of their time on open source. i’m guessing this more or less follows something like the pareto principle, where only a fairly small number of these spend significant time and effort on open source (the sort of time and effort that’s needed to create a project of significant ambition from scratch).
You seem to be saying that FOSS software development is helpful because it will advance overall economic growth (moreso than software development at a private corporation).
i think i think it’s good more because it enables technological development and innovation than because it aids economic growth.
that same eu report seems to think it can be both:
Starting at the generic level of the impact on GDP in the EU including the UK, a significant and large impact of up to €100 billion per year by OSS contributions has been calculated [...] OSS can be seen [...] as a public infrastructure generating massive positive network externalities supported by the high rating by the stakeholders of the benefits of open standards and interoperability provided by the use of and the contributions to OSS. Therefore, OSS has also a further growth enhancing impact in the dimension of the previously quantified impact of the stock of technical standards. Furthermore, OSS contributions are increasing the labour productivity in the EU, which can be explained by their labour cost saving effect reported as major benefits in different surveys among companies, but also being rated as very relevant in the stakeholder survey.
next, you write:
Also, aren’t there many examples of private software projects becoming equally large and important (Microsoft, Google, etc)? [...] You seem to be saying that FOSS software development is helpful because it will advance overall economic growth (more so than software development at a private corporation). This is certainly plausible, although I’m not sure—I feel like the most of the software that I use was created by private companies rather than FOSS efforts.
this is really surprising to me—in all the projects i’ve worked, i would say the majority of the infrastructure—everything from programming languages, frameworks, libraries and so on—that we’ve used are open source. (i think platforms and tools are somewhat more likely to be proprietary, but even those are often open source—think git, unix shell programs, editors, etc.) it’s likely that aerospace engineering is different (more conservative?) from web/mobile/crypto which is where i’ve worked.
(i am talking about the non-surface layers of the tech stack of course—the stuff that’s built on top is obviously proprietary.)
At the same time, the FOSS movement has been around for a while, and it has not taken over the world (I suspect most software is still developed privately), so it must be naturally limited in some ways.
here is the introduction of an ieee software issue that literally opens with the sentence “Open source software has conquered the software world.”:
You can see it nearly everywhere, from Internet infrastructure to mobile phones to the desktop. In addition to that, although many OSS practices were viewed with skepticism 20 years ago, several have become mainstream in software engineering today: from development tools such as Git to practices such as modern code reviews. In the programmer community, OSS has become so prevalent that some companies now expect potential employees to have an active GitHub profile that showcases their OSS contributions. [...] OSS has spread its philosophy well beyond software engineering and inspired many other movements and initiatives, such as open innovation, open hardware, open government, open content (e.g., Wikipedia and OpenStreetMap), and open educational resources. Even the way researchers publish their research has changed, with many attempting to have their publications available under open access and following open science principles.
though to be clear, i agree that foss is limited—there is certainly space for proprietary software, mainly in creating (non-programmer-)user-facing applications, where for-profit firms are better at identifying and fulfilling customer needs.
Why does the FOSS movement arise in the first place? [...] Modular software can build upon other pieces of modular software, like knowledge, so it would be socially beneficial if almost all software was FOSS. But there are usually few private incentives for software to be FOSS, since you could always try to make a buck by having the software be proprietary and charging for it. The FOSS movement seems to have evolved as a way to partially correct for that imbalance—to provide social incentives that make up for the lack of financial compensation intrinsic to FOSS development.
that is interesting—i think there’s probably a competitive advantage to foss, where people are much more likely to use it all other things equal, it being free, introspectable, extensible, etc.
This should probably be a post! I’d love to share it in the Forum Digest and elsewhere — I can technically do this even when it’s a comment, but I’d love to see it get a title, some tags, its own full comment section, etc.
Maybe it should be an adversarial collaboration between me and somebody like Erich who knows a little more about programming! But sure; I will try to get a draft together and post it soon.
Hey, let me know if you’d like another reviewer. I’m a medium-experienced senior software engineer whose professional work and side-projects use various proportions of open-source and proprietary software. And I enjoy reviewing/proof-reading :)
It seems doubtful to me that FOSS development in general would be an amazingly impactful way to help the world. But maybe there are ways we can identify specific development projects that are much more impactful than others. A couple of rambling thoughts below. (Disclaimer! although I do write lots of C++ code for my aerospace engineering job, I am basically a rando and I don’t know that much about the FOSS movement. Take everything I say with a big grain of salt.)
For every example of someone making a great outsized contribution (Bitcoin, Linux), aren’t there thousands of examples of people starting small projects that never get finished or attain wide adoption? Also, aren’t there many examples of private software projects becoming equally large and important (Microsoft, Google, etc)?
For an interesting perspective that is FOSS-adjacent but distinct in some major ways, you might be interested in the ideas of Jonathan Blow, a game developer who is currently developing a new programming language called Jai, in order to… do something like create a tool to help preserve the level of focus and high-level programming skill that he thinks is important for the long-term future of tech development as a field.
You seem to be saying that FOSS software development is helpful because it will advance overall economic growth (moreso than software development at a private corporation). This is certainly plausible, although I’m not sure—I feel like the most of the software that I use was created by private companies rather than FOSS efforts. (But maybe working on FOSS projects is still a better idea in terms of useful-software-produced-per-unit-of-developer-effort). It’s probably possible to find some numbers here: what’s the overall economic impact of FOSS divided by the size of the community?
It does seem likely that contributing to a well-chosen software project is probably a great way to advance economic growth. But there is so much potential software out there—FOSS vs not-FOSS is only one choice, and I would want to try and choose wisely among many dimensions. What kind of software project could be the most useful to the most people (and thus unlock the highest amount of economic growth?), but hasn’t already been created (perhaps because there is no private/financial benefit to the developer, thus no incentive to create it)? This kind of question was probably on the minds of many of the most influential FOSS developers.
FYI I don’t think that Austin Vernon’s perspective is relevant for this choice. Yes, I agree that our civilization is probably bottlenecked more by lack of good social institutions by technology, and in the world of technology we are bottlenecked more by lack of innovation in the world of “atoms” than in the world of “bits”. Nevertheless (indeed because of those factors), software is a high-productivity high-growth part of our civilization, so doing object-level work in software is probably more effective for the average worker vs bashing one’s head against obstacles trying to do object-level work in the overregulated world of “atoms”? Especially if you are already specialized in software development, I think there are plenty of good opportunities in the world of “bits”—the trick is just to choose the right project!
Overall economic growth is important (see the 80,000 Hours episode with Tyler Cowen for a comparison/debate of economic growth vs other EA causes). But other EA causes also need software! Most notably, of course, AI safety projects are extremely software-development-intensive. There are also software projects in other areas, like the startup Wave which makes it easier to send remittances abroad, or projects to imporve the cybersecurity of Biodefense and AI research efforts (whose sensitive and dangerous secrets might otherwise get stolen by malicious actors). I don’t have a great overview of this space, but there are a lot of programmers in EA, so I’m sure somebody around here could provide a really great summary of some of the most crucial projects being worked on right now, some of which are probably FOSS and others which might not be.
Other than software development in support of specific EA causes, I maybe have another idea for where to look for especially impactful projects. Why does the FOSS movement arise in the first place? (Disclaimer: I am completely spitballing here and have no knowledge of the movement’s history, but nevertheless...) Modular software can build upon other pieces of modular software, like knowledge, so it would be socially beneficial if almost all software was FOSS. But there are usually few private incentives for software to be FOSS, since you could always try to make a buck by having the software be proprietary and charging for it. The FOSS movement seems to have evolved as a way to partially correct for that imbalance—to provide social incentives that make up for the lack of financial compensation intrinsic to FOSS development. In this sense, the FOSS movement is like EA—both are social movements that encourage the creation of public goods that would otherwise go tragically un-incentivized. At the same time, the FOSS movement has been around for a while, and it has not taken over the world (I suspect most software is still developed privately), so it must be naturally limited in some ways. (Cross our fingers that the same does not happen to EA as well!! Unfortunately it probably will.)
But with software moreso than with EA, I am optimistic that, in addition to contributing to the existing pro-public-goods social movement, we can also find other ways to encourage and incentivize more public goods production. To some extent, crypto represents a big advance here—crypto protocols like Bitcoin are technically FOSS, but unlike most FOSS projects, you can get really rich if you create a useful crypto project! Thus, projects in the crypto space are properly incentivized, fueling a boom in development activity much bigger than the ideologically and socially driven “cypherpunks” movement was able to manage earlier. Perhaps some extension of crypto ideas could help incentivize other, non-crypto software projects? (Maybe using some crypto tool, each new FOSS project could easily allow users of the software to pay to establish bug-bounties or to request new features?) I am particularly interested in incentive design systems like Gitcoin, which seek to systematically fund the socially-optimal level of public goods provision. Gitcoin’s quadratic funding mechanism is interesting because it could potentially scale up far beyond software development, to become a general governance technique for promoting public goods in many areas of society.
Similarly, it’s also conceivable that certain software projects could get leverage by making it easier for other developers to collaborate or work more efficiently. Git is probably the best example here, but this could also include stuff that (for example) makes it easier for people in India or Latin America to work remotely and get paid western wages for working on software projects, as a kind of virtual immigration.
...Alright, hopefully something in this incoherent brain-dump was helpful! I guess my overall theme here is that FOSS vs non-FOSS is just one of many considerations I’d want to think hard about when trying to guess at what software projects have the best long-term impact on the world. Working on EA-specific projects is obviously promising, as perhaps is Gitcoin-y incentive-design stuff that could solve the whole problem of needing a big social movement to encourage public goods production. And I’m sure there’s a lot of other promising leads that I know nothing about! Best of luck to you in that difficult prioritization & forecasting endeavor, which is so core to the project of EA!
thanks, these are some really interesting thoughts. some comments:
i think this is true. but i think it’s true for most career choices / endeavours that they only make sense for people who have the right skill set, drive, personality and so on.
i found some estimates for the eu (pdf) -- around 8% of around 3.1 million programmers are involved in open source, however spending on average less than 10% of their time on open source. i’m guessing this more or less follows something like the pareto principle, where only a fairly small number of these spend significant time and effort on open source (the sort of time and effort that’s needed to create a project of significant ambition from scratch).
i think i think it’s good more because it enables technological development and innovation than because it aids economic growth.
that same eu report seems to think it can be both:
next, you write:
this is really surprising to me—in all the projects i’ve worked, i would say the majority of the infrastructure—everything from programming languages, frameworks, libraries and so on—that we’ve used are open source. (i think platforms and tools are somewhat more likely to be proprietary, but even those are often open source—think git, unix shell programs, editors, etc.) it’s likely that aerospace engineering is different (more conservative?) from web/mobile/crypto which is where i’ve worked.
(i am talking about the non-surface layers of the tech stack of course—the stuff that’s built on top is obviously proprietary.)
here is the introduction of an ieee software issue that literally opens with the sentence “Open source software has conquered the software world.”:
though to be clear, i agree that foss is limited—there is certainly space for proprietary software, mainly in creating (non-programmer-)user-facing applications, where for-profit firms are better at identifying and fulfilling customer needs.
that is interesting—i think there’s probably a competitive advantage to foss, where people are much more likely to use it all other things equal, it being free, introspectable, extensible, etc.
This should probably be a post! I’d love to share it in the Forum Digest and elsewhere — I can technically do this even when it’s a comment, but I’d love to see it get a title, some tags, its own full comment section, etc.
Maybe it should be an adversarial collaboration between me and somebody like Erich who knows a little more about programming! But sure; I will try to get a draft together and post it soon.
i would be happy to review / comment on a draft or something like that!
Hey, let me know if you’d like another reviewer. I’m a medium-experienced senior software engineer whose professional work and side-projects use various proportions of open-source and proprietary software. And I enjoy reviewing/proof-reading :)