Some have claimed the reason most open source projects fail is because “99 percent of the users simply download the programs and fail to give anything back.” I disagree. I think projects fail because the leaders of the project do not know how to build an open source community. In this article, I will begin by explaining why ALL software should be Open Source. I will then outline some of the most important and often overlooked steps in building an Open Source community.
Benefits of Open Source Software
In this article, I will be using the GNU Linux Project, Linux Debian and LibreOffice as examples of successful Open Source projects. The term Open Source means that all members of the community are invited to actively participate in serving the community. This includes not only building the code, but also promoting the code. The benefit to members is they can freely download, use and modify the code. The benefit to developers is that they can have hopefully a large number of people assisting them in building and testing the code for security and function problems. Developers also can also make a good income by offering their services to corporations who need secure and functional software. For example, Linux Redhat makes billions of dollars protecting the Linux servers corporations need to store and manage their data.
In contrast with Open Source software, which uses a cooperative development and distribution model, closed source programs use a competitive model. In the closed source model, users of the software must pay a licensing fee to “rent” the software and have no real role in writing or testing the code. The Microsoft Windows operating system is a well known example of a closed source program. On the surface, one might think that the closed source model is a more successful model. After all, Microsoft is a trillion dollar corporation and Windows dominates about 90% of the consumer computer market.
However, as a person who has written a detailed 400 page history of Microsoft, I know the real reason Microsoft dominates the consumer market is that they illegally used their monopoly to force computer makers to install Microsoft Windows on consumer computers. These abusive practices caused Microsoft to be found guilty of violating the Sherman Anti-trust Act on three occasions. Microsoft continues to use these illegal “lock in” practices with Windows 11. For more information on this grotesque practice, you can download a free copy of my book, “Free Yourself from Microsoft and the NSA” at this link: https://freeyourselffrommicrosoftandthensa.org/
The real problem with closed source programs is they are not as secure as open source programs. For example, in 2021, Microsoft suffered over 700 security problems. By contrast, the Linux Debian operating system did not have a single reported security problem!
I predict it is only a matter of time until consumers recognize what corporate security teams already know – that Linux is more secure than Windows. In 2016, Microsoft lost a $600 million US military contract to Amazon Web Services largely because Amazon was using secure Linux servers. This event caused the leaders of Microsoft to change their mind about Linux. They fired thousands of closed source Windows programmers and replaced them with Open Source Linux programmers. Currently Microsoft makes the majority of their income by selling server space on their Azure Cloud – which is located in Quincy Washington and uses almost entirely Open Source Linux servers!
One reason Open Source programs are more secure is that the code is public and therefore can be independently audited. But a more important reason is that there are many more eyes inspecting the code and the process for correcting security flaws is more efficient. This is why I advocate that ALL programs should be Open Source.
Twelve Ways to Build an Open Source Community
While each Open Source project is different, there are several steps you can take to build your Open Source community by making it easier for new members to become involved and by providing more ways for them to participate. Here are 12 of the most important steps:
#1 Describe a common shared vision. Explain why the project is important and why members should take the time to become more involved in building and promoting the project. If you are building your project on a system like GitHub or GitLab, this vision should be stated in the project READ ME file included with every copy of the software. If you have a project website, this common shared vision should be stated in a Welcome article on the project Home page.
#2 Openly welcome new community members and explain all of options for community members to become more involved. New beginning members are the life blood of open source projects as over time they can eventually become the leaders of the project.
#3 Provide a free community forum where new members can ask questions and more experienced members can help answer the questions of others. Here is an image of the Debian User Forum:
As you can see there have been more than 300,000 posts on more than 50,000 topics. This means the average question has about five replies.
#4 Provide a free community referral service where instructors, web designers and application developers can promote their services to the community. This is an important service that very few projects have offered.
#5 Provide a free community showcase where members can share their finished websites as well as examples of other products created by using the Open Source software.
#6 Provide step by step instructions, including screen shots, explaining how beginners can use the programs. Sadly, all too often the instructions for Open Source projects are written by experts for other experts… making it difficult for new members to overcome the initial threshold. By contrast, LibreOffice offers extensive instructions to help beginners use their programs. Nearly all of this documentation was written by volunteers. Here is an image of the Libre Office documentation page:
There are more than a dozen Getting Started guides each with hundreds of pages, hundreds of images and well written step by step instructions. The documentation can be downloaded and read off line or read in a web browser. You can even buy a printed book - with the funds used to help support the LibreOffice project.
#7 Create videos and post them to a video channel where the public can learn about your project and new members can learn how to use your programs. Many visually oriented people learn more from videos than from text. Yet very few open source projects offer instructional videos.
#8 Make it easier for folks to install your programs. All to often developers provide minimal installation instructions written mainly for other developers and consisting of a series of command lines to enter in a terminal. If you want more people to use your program and join your project, then take the time to provide a clear easy step by step path -using a graphical interface - on how to install and use your program.
#9 Offer a free community newsletter sent monthly or quarterly describing the recent accomplishments of the projects, the coming goals and how members can help achieve those goals.
#10 Hold monthly video conferences where members can get to meet and build relationships with other members. Use an Open Source video conference tool like Jitsi which has no limit on the number of people who can join or how long your video conference can last. Jitsi allows you to share screens, ask questions in a chat box and even break out into separate meeting rooms.
#11 Make it easier for new members to debug and contribute to the code. Developers often complain that almost no one helps with their code development. They fail to understand that the reason so few are helping is because most people have no idea HOW to help with code development! If you want more help, then include clear instructions on your project website explaining how members can set up their own free GitHub or GitLab accounts.
Explain how to debug the code and how to create an Error trace. Explain how to submit bug reports and other issues. Make it easier for new members to debug and contribute to the code and more new members will be willing to help. Here are links to several GitHub pages where your members can learn how to code, how to test, how to help Open Source projects and how to submit code improvements: https://github.com/freeCodeCamp/freeCodeCamp
#12 Walk the Talk by switching to Open Source programs… It is a fact that Open Source programs are more secure than closed source programs. This is the main reason I have personally used only Open Source programs for more than 14 years.
If you want to build a truly secure Open Source program or Open Source website, you should begin by using an Open Source operating system, such as Linux Debian on your Home computer. It is the only way to avoid Windows Ransomware and insure your computer and or your website are not hacked.
Second, you should use an Open Source program such as Linux Debian to set up a Virtual Private server and use an Open Source Control Panel such as Hestia CP to manage your server. There are many additional free Open Source tools that can help you build your online Open Source community.
But what about making money?
It is understandable for developers to worry about how they can make a living if they open source their code. To be clear, it is essential that the community help developers with the code and promote both the code and the developers. Developers need to look at community members as their best form of advertising. But the key to a truly successful project is whether the project meets an important unfilled need. Build a better mouse trap and you will have more customers than you can ever handle. Rather than making money by selling closed source software, you can make money by helping business owners learn how to set up and use secure open source software.
Turn your Customers into your Assistants
I spent 20 years teaching year long college level courses in Problem Solving, Team Building and Conflict Resolution. These are skills that require more than a year to learn. The real issue is how do we as humans build long term relationships where we do not merely accept that others are different from us but learn to appreciate those differences.
My solution to this problem was to offer my students to come back in future years as unpaid course assistants. After 20 years, I had more than 200 assistants I could draw on to help me not only teach my courses – but also to provide one to one help and encouragement to students in our courses.
What makes Open Source work is not merely that Open Source programs are more secure, it is that humans are naturally social. They want to help. All you need to do is give them the opportunity. As always, I look forward to your questions and comments.
David Spring M. Ed.
David Spring at Proton Mail dot com