In a recent post, I said the open source software (OSS) community needs to go back to basics because the “us vs. them” thing has become so tiring. But what are the basics the OSS community needs to get back to? What do you need to know to recapture the era before Microsoft even existed when, as Dennis Ritchie—one of the “inventors” of Unix—said (according to the Alacatel-Lucent web site):
"What we wanted to preserve was just not a good environment in which to do programming, but a system around which a fellowship could form."
Here are my suggestions for 10 basics for OSS software developers to keep in mind:
1. Like oil, the world needs software to run. In fact, like oil, the world needs software more than ever.
2. Most of the world’s markets are capitalistic in their economic organization. You probably cannot change that (but no one will bother you if you try).
3. In certain situations, capitalistic ventures tie software licenses to some other capitalistic activity. The legalities around such tie-ins are very complicated and differ in different parts of the world. But such tying in (e.g., a browser or a media player to an operating system) is not immoral.
4. Since 1970, when IBM decided to stop using such a tie-in arrangement (that is, IBM decided to unbundle its software from its systems) rather than face a United States government legal case over the systems/software tie-in, a lot of software has been sold and licensed “independently.” Software has thus become a large market, in capitalistic terms, separate from the sale of information-technology (IT) systems and services and other non-IT activities that also use software.
5. The market for software as measured by revenue now tops a quarter of a trillion dollars a year, of which Microsoft gets more than 20% of the total. The top 5 software suppliers account for more than 50% and the top 25 software suppliers account for about 80% of annual software revenue. No one forces anyone to use software from Microsoft or any of the other leading software suppliers.
6. Despite the statistics in Basic Number Five, most of the world’s software is developed one-off and not produced in and for a market (that is, specifically for sale). In a small amount of situations, some of this one-off-developed code is given away at no charge, typically to support industry-centric cooperation among suppliers and consumers or for similar reasons. This trend is 50-60 years old and in some form probably predates the invention of software. A very small portion of this no-charge software is licensed under so-called open source terms and conditions (Ts&Cs).
7. There are dozens of types of open source Ts&Cs, which are primarily distinguished by the fact that the code must be distributed in a certain way technically—in source form—and under various re-distribution rules, none of which are more or less moral than other types of tie-in arrangements as discussed in Basic Number Three above. In addition to the non-market-related distribution of OSS, all major software suppliers and thousands of other for-profit software suppliers distribute at least some software using open source Ts&Cs. There are a few opportunities in the marketplace to deal with suppliers that use only open source Ts&Cs if that is your wish.
8. Most of the world’s software as measured by a census of installed code including the software supplied in the market and the software developed one-off—if such a census existed—works with or runs on (or both) software from Microsoft. That includes most of the software provided by the other 24 leading software suppliers mentioned above and most software licensed with open source Ts&Cs. If you believe in the wisdom of markets (some might call them bazaars), there is a reason for this.
9. Software development is labor intensive and like the need for oil (vs. alternative energy sources) the labor intensity will be the status quo for a few more decades. However, this labor intensity and its effects on software development costs is antithetical to capitalism; therefore it is likely in a few generations that some form of robotic software development will emerge and/or general-purpose software as we know it will disappear as a market and most software will be embedded as described in Basic Number Three above.
10. Only a few tenths of a percent of the world’s population is involved in software development. Very few other people in the world care about all of the above. So until you or your grandsons--there are still very few women involved--are replaced by a robot or the market has gone full circle back to software bundled in hardware or otherwise tied-in in some way, enjoy the fellowship Ritchie talked about in the late 1960s .













Leave a comment