“Treat open source as open source treats you.”
The Golden Rule is the principle of treating others as one’s self would wish to be treated. It is a maxim that is found in many religions and cultures and it is considered an ethic of reciprocity. It is expressed usually in the form: “One should treat others as one would like others to treat oneself.” If you think of open source as a business model, or culture, or religion, you will see that the Golden Rule applies here as well. If I were to phrase the Golden Rule of open source, I’d say: “Treat open source as open source treats you”.
Reciprocity is behavior in which two people or groups of people give each other help and advantages. If you are using open source software, you are getting advantage from it. Here I will try to explain why it is important you help open source in return to help yourself.
Let’s consider the following hypothetical open source usage progressions:
There is a well-known free-rider problem that occurs when people benefit from free public goods and services and don’t pay which leads to under-provisioning. Because software can be copied and distributed endlessly at zero-cost, there is no such a problem with open source software. Open source welcomes and wants as many free-riders as possible. This is possible because, in addition to the zero-cost distribution, open source has free-contributions. These contributions are from people who want to learn, practise, scratch their itch, showcase their capability, satisfy their ego or curiosity, etc. Any successful open source project has enough free contributions to satisfy free-riders.
Let’ assume, you own a small company, and you use free and open source software such as Fedora OS, OpenOffice, Eclipse IDE, httpd (these are the tools the first startup I worked for used for users and is still using), OpenJDK, Apache Camel… Every now and then you may get a salesperson trying to sell you services and support around these tools, but you hung up the phone with a smile on your face because you are not dependent to these tools and you can easily replace them with others if needed.
Congratulations, you have reached the free-rider level in open source. You are benefiting from working software for free. It is a win-win for free-riders, and free-contributors scratching their itch.
Let’s assume your company has grown, and now your developers are developing complex and business-critical applications on Apache Camel which requires 24x7 uptime. Open source is cool, it is where innovation happens and you love all the new features that come with it. But open source changes fast, and you are not in position to hire or pay engineers with deep understanding of Apache Camel. You came to the realization that: “The price for free software is your time”. So you decide to get Apache Camel support from Red Hat and occasional training, consultancy to configure clustering, high-availability, do tuning, etc. By paying a service provider such as Red Hat, you are indirectly supporting open source as Red Hat pays tens of full-time engineers to work on Apache Camel.
Congratulations, you have reached the paid-extras level in open source. You still get enormous value from open source compared to proprietary software. It is a win-win-win for paying users, paid-contributors, and service providers in the middle.
It turns out that your company has brilliant engineers and they have learnt and grown a lot by using open source. Your engineers understand the low-level details of some open source projects better than anybody else on the planet. The tools they created and pushed to Github got many stars and external developers are using in anger. Your company has grown even further, and now you want to offer your software as a service. You give your engineers Fridays to work on open source, sponsor new graduates, organize meetups, buy pizza and beer, print stickers, support open source projects in every way possible.
You come to the realization that open source can help you with with attracting great engineers, product marketing, distribution, and adoption of your software, with innovation and challenging the large and slow closed-source competitors.
But open source can help you, the level you help open source. You cannot be a free-rider and expect to get more than free software. You have to be on the open source producing side and become an open source contributor to get more. Open source is a collaborative value creation model where you get back what you put in, but multiplied by the size of contributors and users networks. You can be a free-rider and consumer of projects that you do not depend on, you can be a paid-supporter of light-touch projects, but you must be a builder and giver for projects which your company relies upon. In return, open source will treat you in a similar way.
Congratulations, you have reached the open source contributor level. It is not any longer the software you get from open source. The whole organization gets value and crashes competition because of open source. Now it is also your responsibility to make the open source project thrive. It is a win for you, a win for open source, and a win for everybody.