8.1 Why Build an Open Develop Community

Freedica is an example of an open software development tool. Four other important community based tools, include the Linux kernel, the Linux Debian Operating System, Libre Office Document Management System and the Joomla Content Management System. All of these community developed programs have established a security record that is about 100 times better than programs developed by corporations. In this article, we will review why and how to build an Open Develop Community.

01

What is an Open Develop Community?
The term “open development” software is a relatively new concept. Open development goes beyond “open source” programs. Open source merely means that the source code for the software has been publicly posted. Thus the code can be inspected to make sure it is free from hidden back doors. But open source programs can still be developed by closed source corporations using closed source Windows computer and stored on a closed source repository such as GitHub. These corporations can and have converted their open source programs into closed source programs once they can a market monopoly of users who become addicted to using their programs. The problem with letting greed control our computers and computer software is that billions of people rely on their computers and computer programs to share information and keep their businesses functioning.

A second less understood point is it costs next to nothing to make a copy of a program once it is written. We therefore need to take a stand and oppose corporations that are essentially blackmailing us because we have become addicted to their programs.

We need to break the cycle of addiction by using and promoting Open Development programs. We need to take a radically different path in terms of selecting the software we download to our computers, choosing the software we use to run our businesses, promoting the software we teach the next generation and developing the software we make for ourselves and for others.

02

Many software developers, such as Richard Stallman, have argued that merely being Open Source does not by itself provide adequate assurance that the software has a beneficial rather than harmful impact. Richard insisted that for software to be beneficial, it needed to be freely available to use, copy, alter and distribute (the Software Four Essential Freedoms).

03

Note that access to the source code to study it is just one of the four freedoms. Such programs used the acronym, FOSS, which stands for Free Open Source Software, These four essential freedoms allow software developers to improve programs, and release their improvements to the public, so that the whole community benefits. But the four freedoms did not provide guidance about how Free Open Source software was to be built to encourage collaboration or produce programs that would benefit the whole community.

The term Open Source became popular because it focused what mattered most to software developers, which was the availability and re-usability of the code. But neither FOSS nor Open Source dealt with the issue of how software should be built or who should control it. As a consequence, all that mattered was if the program code was released and was issued with an open source license.

For more than 20 years, I have devoted my life to promoting and writing tutorials explaining how to use free open source software. For links to all of my free courses on using free Open Source software visit College in the Clouds dot org.

04

However, recently, it has become apparent that being FOSS does not insure the software has a beneficial rather than harmful impact. There are many so-called FOSS programs provided by corporations such as Google and Microsoft that have later been revealed to be massive data mining schemes. The problem with such harmful software is that it can be copied a billion times before the defect is discovered by the public. Harmful software is like a drug which - as Bill Gates once famously said - “People become sort of addicted to.”

05

Once people become addicted to a given software program, it becomes much more difficult for them to overcome their addiction and switch to a more beneficial program. Instead, they suffer from Stockholm Syndrome and insist on defending the very tools that have bound them in chains and turned them into slaves. As just one example, here is a comparison of Critical Vulnerabilities of the Windows Operating System compared to Linux Debian OS:

06

The Debian operating system is not only free – and easier to use than Windows - it is much more secure than Windows. Yet despite the fact that Linux is dramatically more secure than Windows, many supporters of Open Source programs continue to use Windows computers! Sadly, Bill Gates was right about people becoming addicted to closed source operating systems and being unable to break free from their addiction – even when using Windows to write your software exposes your project to Windows Ransomware.

07

It is equally appalling that many Open Software projects use a closed source repository called GitHub or a commercial repository called GitLab when there is a much better non-profit Open Software repository called Codeberg to host their Open Software projects.

08

GitHub (aka Microsoft) and Visual Studio (also aka Microsoft) were recently found to be spying on and pirating BILLIONS of lines of code from more than a million open source projects in order to develop their commercial GitHub program called Copilot.

This was and is a clear violation of Open Source License requirements. Microsoft and GitHub are currently being sued for $9 billion. Here is a link to the 56 page lawsuit:

https://www.documentcloud.org/documents/23264658-github-complaint

One of the people who brought the lawsuit explained how this spying and code theft harms Open Source Code development: “Microsoft is creating a new walled garden that will inhibit programmers from discovering traditional open-source communities, Over time, this process will starve these communities. User attention and engagement will be shifted [...] away from the open-source projects themselves—away from their source repos, their issue trackers, their mailing lists, their discussion boards.”

https://www.bleepingcomputer.com/news/security/microsoft-sued-for-open-source-piracy-through-github-copilot/

The Software Freedom Conservancy was so appalled at Microsoft’s attack on Open Source Software development that they referred to it as “monetizing the labor of open source developers via a proprietary product.”They therefore launched a campaign asking Open Software developers to “Give Up GitHub!.”

https://sfconservancy.org/GiveUpGitHub/#ICE-contract-details

09

Yet despite this assault on Open Source software, tens of thousands of projects are still made using Windows programs on Windows computers with their code hosted on GitHub and or the Microsoft Azure Cloud.

If this is not addiction and Stockholm Syndrome, then I do not know what is. Sadly, $9 billion is peanuts for Microsoft who will likely be given a Get Out of Jail Free card – just like they have been given many times in the past after being found guilty of violating US federal laws.

GitHub is just one tentacle of a monster that represents the greatest concentration of wealth and power in human history. If you are using a Windows computer or using Windows programs or hosting your project on the Microsoft Azure Cloud or developing your project on GitHub, you are enabling this dangerous concentration of wealth.

Below is a chart of Microsoft Global Revenue during the past 20 years. Note the dramatic spike in revenue during the past 10 years. This situation grows more dangerous every year.

10

If we are to overcome our current addiction to harmful software, and gain our freedom from the likes of Microsoft and Google, we need to completely change the way we develop software. We need to look not merely at the code for hidden defects, but rather – because software has such a big impact on all of us - we need to closely examine the entire software development process for hidden defects. The term I propose for this more careful and holistic approach is Open Software Development.

Our goal is to more precisely define the word “open” and explain how Open Software programs can and should be developed using entirely Open Software tools – and to provide a place where those interested in learning about and or developing Open Software programs can ask questions and discuss important issues regarding the present state and future of Open Software programs.

Open Software Development includes the prior concept of Free Open Source Software. But in addition, it requires a willingness to change - an open mind – to consider and try new ways of doing things.

To explain the need for change and provide a path for this different kind of software development, we will review the following topics:

#1 Open Development Research – How we got into this mess and admitting the mistakes of the past so they are less likely to be repeated in the future and doing deeper research to gain a greater awareness of the long term pros and cons of the tools we use to develop software.

11

#2 Open Development Hardware – Developing secure software begins with breaking free from our addiction to Windows and replacing Windows with a secure Linux computer.

12

#3 Open Operating Systems – Computer security also requires a secure operating system. Sadly, not all Linux operating systems are secure!

#4 Open Development Programs – means using to the greatest extent possible development tools that embrace the principles of Open Software Development.

13

#5 Open Servers and Panels – why and how to host our development projects on a secure Virtual Private Server with a secure open source Control Panel.

14

#6 Open Local and Remote Repositories that make it easier for new members to debug and contribute to the codeopening local development to more people with the use of a graphical interface called Git Cola and connecting it to a truly open remote repository.

15

#7 Open Website Building Tools – understanding the pros and cons of website building options.

16

But what about making money?
It is understandable for developers to worry about how they can make a living if they switch to an open development model. 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.

17

Turn your Customers into your assistants
I spent 20 years teaching year-long college level courses in Problem Solving and Team Building. These are skills that require more than a year to learn. My solution to this problem was to offer my students the opportunity 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 Software Development possible is not merely that Open Software programs are more secure, it is that humans are naturally social. They want to help. All we need to do is give them the opportunity to join an Open Software Development community.

Three Best Examples of Open Software Development
There are many Open Software communities that have taken various steps to move towards more open software development. Three of the best examples are Debian, LibreOffice and Codeberg. Debian and LibreOffice are large open communities whose assets are controlled by an independent non-profit called Software in the Public Interest. Codeberg is also under the control of a non-profit and has taken steps to “walk the talk” by openly using and promoting nearly every open software tool and concept have covered in this course.

18

Twelve Ways to Build an Open Software Development Community
While each Open Software Development project is different, there are several steps you can take to build your Open Software 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 development 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:

19

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 Development 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 Development 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:

20

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 development 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 send 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 Development 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.

21

#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 use Git Cola to contribute to your open development project.

#12 Walk the Talk by switching to Open Development programs It is a fact that Open Development programs are more secure than closed source programs. This is the main reason I have personally used only Open Development programs for more than 14 years.

22

If you want to build a truly secure Open Development program, you should begin by using an Open Development operating system, such as Linux Debian on your Home computer. It is the best way to avoid Windows Ransomware and insure your computer and or your website are not hacked.

Second, you should use an Open Development program such as Linux Debian to set up a Virtual Private server and use an Open Development Control Panel such as Hestia CP to manage your server. There are many additional free Open Development tools that can help you build your online Open Development community.

What’s Next?
In the next article, we will review the dark side of current software development.