Welcome to Open Software Development

Welcome to Open Software Development! The purpose of this book - and its associated website - is to explain why 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.

01

Historically, software was rather naively divided into Open Source versus Closed Source programs. Open Source meant that the source code was publicly available and could therefore be inspected to insure that the code had no hidden back doors – and thus could be trusted to be more secure than closed source code.

02

Many software developers, such as Richard Stallman, 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 on 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 series of software programs, they become victims of vendor lockin. It becomes much more difficult for them to overcome their addiction and switch to more beneficial programs. Instead, they suffer from Stockholm Syndrome and insist on defending the very tools and processes 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

Debian is not only free, but 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 – 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 open source 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 aka Microsoft is just one tentacle of a vast global empire 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 and power.

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 ten 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... and not all operating systems are controlled by a community.

debian

#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 Website Building Tools – understanding the pros and cons of website building options.

15

#7 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.

16

#8 Open Development Communities - where the entire community is recognized, valued and included in meaningful roles.

17

#9 Open Documentation Processes & Policies does the documentation encourage all members to take more active roles and does the community that uses the software have a say in and or control over how the software is developed. Sadly, all too often the instructions for Open Software 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:

18 

#10 Open Software Licenses – who controls the legal framework for the software project.

19

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.

20

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 community.

Three Best Examples of Open Software Development
There are many Open Source 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 we will be covering.

21

 

What’s Next?
If you agree that the time has come to change the way software is developed, then click on the first subject in the top menu to learn about Open Source history – let’s learn from past mistakes!

As always, I look forward to your questions and comments.

Regards,

David Spring M. Ed.

David Spring at Proton Mail dot com