VoidSpaceXYZ's Blog

Why do I Free Software !

· VoidSpaceXYZ

I trust in Free Software (as defined by GNU). I believe if the technology people has invented something that really is for the people, that is Free Software.

TL;DR : I trust in Free Software (as defined by GNU). I believe if the technology people has invented something that really is for the people, that is Free Software. While I acknowledge Open Source, I only believe in Free Software as a way forward. I have migrated nearly all of my tools to a Free Software alternative. I encourage you to take free software seriously and give it the most honest try you can and contribute to a collectively owned technology society vs a corporate owned technology society. Non-free software is a social problem, and the solution is to stop using it and move to free software.


Free Software

Quoting gnu.org, in best defining Free Software

“Free software” means software that respects users’ freedom’ and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price.

To have a detailed understanding of Free Software, I highly encourage you to read this article from gnu.org. The question is why does it matter to each one of us. What does Free Software brings to the table ?

1. Knowledge Freedom :

Knowledge is for the purpose of transforming the world. A software is knowledge in its materialistic sense. Free Software by the way of enforcing a code to be a matter of liberty and free(dom), ensures knowledge thus gained or learned over years by various people is publically accessible and available to everyone. Knowledge being public is Freedom. This enables people of various walks of the society to not have the limitation of access to knowledge, access to tools for invention and use, understanding historical evolution of knowledge.

GNU GPL license is considered one the most strongest free software licenses. The most important aspect of such a free software license is the fact that, anything built using free software has to be a free software. This ensures that knowledge freedom in technology is inherited and not lost over a period of time. For those who already know open source for a while or for those who are worried about making money with free software, read on, I have shared my views on the same over the course of this article .

2. Accessibility to technology

Freeware is not Free Software. A freeware (eg., chrome) only talks about the price of the software being “0/-” but does not talk about the freedom that Free Software promises its users. There are 2 ways to look at accessibility,

a) Cost of the software:  Free Software doesn’t enforce the cost of the software being free or “0/-”.  The only thing Free Software enforces is that any buyer of the software should also get the 4 freedoms that it promises along. In simple terms, if I buy a Free(dom) Software, I should also get the source code of the software with the freedom to run, copy, distribute, study, change and improve the software. But worry not, in most of the cases, nearly all Free Software is also free of cost (free beer). The authors of the software majorly rely upon their personal free time used for contributing and building Free Software or rely on grants / donations towards their software for sustenance. But if the author of the software decides to not distribute the software free of cost (eg., Conversations an XMPP client), the author has to give the users its source code (if they can’t afford the cost or if they want to build the software themselves or if they want to distribute the software). The impact of such a model is the trust of community and collective funding of a software that we all produce. There is more about this shared in the course of this write up, please read on.

b) Code being available: Apart from knowledge freedom, assuming you are a software developer or know someone who can write software code, the code being available to you with any restrictions for your inventions / contributions would imply you have the ability to build features or fix issues in the software. More on this in the upcoming sections below.

3. Sharing and cooperation :

Free software can be developed by any group of people. We dont necessarily need corporate building software for us. But why not? We all have this question. What’s wrong in a corporate building a software for us. The problem has to be analyzed multi-fold

a) IP (Intellectual Property): A property is an asset that one owns. A piece of land, or a building or a computer is a property that an indicivual or an entity or a society collectively owns. When knowledge becomes very important, it becomes a property via what is called as Intellectual Property. When a corporate is building a software for the people, it has to do multiple things to ensure that it gets profit. One of the most important things is “Intellectual Property”. The code that a software company builds becomes a property of the company and dosent become public knowledge. When corporate start owning all the knowledge around technology, over a course of time,  we will have to be at the mercy of the corporate to share their knowledge with us and our inventions will be more tuned towards the interests of corporate over the interest of people. While we could all argue corporate are building software for us (the people), the most important fact is that if the invention doesn’t benefit the corporate, they won’t be interested in such an innovation. The same reason why we have Robots for serving food at restaurants but we don’t have robots invented to do manual scavenging. Profit becomes the prime goal over people’s need and interests. And since profit becomes the interest, software tools will be build to be more addictive and immersive (while trust is enforced) to maximize profit.

b) Trust : Over years we have been thought to trust companies over people. This is not necessarily bad, but the question is why cant we trust people. Yes, I agree companies do consist of people. I might trust the people, but not the companies motives for reasons stated above and employees are eventually not given an option to have a say otherwise. But we keep forgetting the most important characteristic of  human beings, Social trust. When we all collectively come and solve a problem, we are very happy that we contributed in the making of something, we get to know people, our voice is heard, we learn new things and many more. Why do we lose this when it comes to technology. Why cant we ask a friend to build a software for us or contribute to a feature that is lacking in a free software so that it help can help everyone around the world like you ? Trust comes not from blindly trusting some company, but rather by all of us collectively contributing and validating a tool. And there is no better system than free software to achieve the same.

c) Knowledge : As an outcome of IP or a software being closed source, the knowledge gained over building the tool or the knowledge of the tool itself, becomes very limited. This was discussed in detailed in “Knowledge Freedom” section above.

d) Collective ownership : As an outcome of all of us participating and contributing to a software, the ownership of the software becomes a collective ownership and not attributed to a specific company. More on this in the “Credits of contribution” section below.

4. Inclusivity

The most important outcome of the above sections in that we not only are building tools for everyone, but rather building tools that is more inclusive and welcoming to non-tech savvy users and people who lack computer skills. For Eg., many of the closed source software talks about what is called as “Internationalzation” when building user interface for their software. Internationalisation ensures that the software is available in the highly spoken languages around the world (like English, Russian, Chinese). But would that be an inclusive tool for all sections of the society ? What about the local languages that are spoken in your region like Kannada or Tamil?  Free software by giving its users complete freedom to innovate around all its tools, gives the users the ability to “localise” a software to work in such local languages. All it requires is for someone who knows the language to translate the English strings one time and we suddenly have all users who speak only a specific language to use the software.  While some companies do localise, remember, if there is no profit, they wont care.

Not just localisation, if you are good at writing, you could contribute to the documentation of the software, if you are a teacher, you could contribute tutorial videos to help other users etc etc.  I have written a section “How to contribute / get started” at the end towards specific targetted users and how they could contribute. I would highly encourage you to read that section.

5. Credits of contribution

One of the most common misconceptions about free software, is, “someone will steal my code and make money or take credits”. No. This is not true. Copyleft (https://www.gnu.org/philosophy/pragmatic.html) is Copyright. A copyright in simple sense, is something gives the creator the credits and ownership. And when I say Copyleft is copyright, it means that all of copyright applies to Free software too. But not as is. There are some better and nice things.

  • The ownership is collectively shared by all the contributors and not by a company.
  • When someone shares your software to their friends, they have to share the  list of all contributors and the license of your software along with it. This ensures that redistribution of the software is under the same copyright license and also people get to know who the contributors are.
  • And since copyleft is copyright, if you find a misuse of your software, you can file a case in any court. This is what companies also do, they fight copyright cases in the court if they find a breach of use. Copyleft gives you all the permissions of copyright and thus giving you the same rights as any other corporate.
  • If someone makes modifications to your software and is not willing to share it back to you, they are free to have a copy of the software in their website (or where ever they are hosting the code) but will have to keep the code under the same license as you did and it is mandatory to give credits to your code. A violation of any of this would mean a violation of copyright and you have the legal protection.
  • If someone is building a software using your software, they will also have to keep the software free(dom) and thus you also get an acknowledgement that your software was used in building yet another software.

All of the above rights was possible thanks to copyleft licenses like “GNU Public License (GPL)” and others as listed here https://www.gnu.org/licenses/license-list.html . But remember, if your worry is if someone will steal your code, you should use Free software and not Open Source. More info below.

Note : Open source differs in point (e), I will explain more on it in the “License” and " Why do I not prefer “Open Source” sections below.

6. Free software has free software dependencies

For something to qualify a free software, all the dependent software should also be a free software. Even though potentially we can build a software that depends on a non-free software (eg., browser addons), it fails the idea of free software in giving users a software that respects the 4 essential freedom and compromises the intent of why free software exists.

7. In the growing age of Internet and Privacy

Internet has become an integral part for many of us, and there are many raising concerns of “Privacy” and “Data Security”. I will go in detail on this aspect in a separate article, but the fact remains that, if a software is trusted and reviewed by a community I trust and I or people like me have contributed to, would be a more trustworthy choice to defend my “Privacy” and “Data Security” over a corporate. In my personal experience, close to many corporate dont even publically announce a “Data theft / breach” since it would impact the profits of a company. With Free software, atleast I know my friends have reviewed it and I can reach out to them incase of doubt.Free Software thus is not any invention that is aimed at the developer / tech savvy community, but is just a means to enable the developers / tech savvy to build tools that matter to people and being technologically inclusive.  Using free software is not just an impact on individual freedom, but with many of us using free software, we are making a political statement that "Freedom matters".

I believe if the technology people has invented something that really is for the people, that is Free Software. I will want to personally thank “Richard Mathew Stallman” for inventing the idea of Free Software and starting the free software movements around the world.


Licenses

In the Free software world, there are 2 types of licenses

a) Permissive license: These types of licenses allow the people who create software using your software to not release the software under the same license. This implies, I can build a closed source software using your software and make all the money I want and not contribute to the project at all. It also means that anybody can sell your software without giving you credits or can make changes to your software but not release the software in the public domain. Many such licenses also lets its uses sub-license the software. An example of such a license is MIT (https://opensource.org/licenses/MIT)

b) Non-permissive or Copyleft license: These types of licenses enforces all the points I made about free software in the above section. It enforces, people who make changes to your software to publish it back in public domain, it retains your credit, and it also enforces everyone to build free software if they use your software. An example of such a license is GPL (https://www.gnu.org/licenses/gpl-3.0.html)


I do not prefer “Open Source”

“Open Source” by definition, only cares about the code and nothing else. Why do I say this, is for the fact that Free software, enforces copyleft in its truest sense and thus is a matter of ethics and social collective growth. On the contrary, Open source on the other hand in different scenarios either restrict users in applying all the 4 freedoms (freedom to run, copy, distribute, study, change and improve the software) or contains blobs (compiled piece of software) that are non-free or has non-free software dependencies. In this section, we will go in detail about open source, and various reasons for us to avoid the same.

a) Exploitation of your work / software: It is a general human tendency to be credited for the work we do and also look for models of sustaining around our contributions. Open source software, always leads to exploitation of your work / labor / contribution. Lets understand this in more detail. When you write a software and release it under a permissive license (open source software) any company / individual can use your software to build closed source tools, and make money out of it and give you no credit or share the monetary benefits with you. While you put in the effort to build a tool, and someone else keeps making money and a livelihood out of it, which you struggle. This is what is called as exploitation of labour. Your time and effort is used for someone else profit.

b) Non-Free Dependencies: Unlike free software, open source does not enforce having non-free dependency. For example, we can use a non-free compiler like .NET(a compiler is a piece of software that converts developer written code into a computer understandable code) and write a code that is open source.

The problem with such a scenario is the fact that for a user to run the open source software, they need to use a non-free software.

c) Knowledge freedom: In the first section, I have stressed extensively on the importance of knowledge freedom. While open source code is also public knowledge, the tools it depends on and the tools that are build using it need not necessarily be free , and thus limiting our knowledge and impacts the society as a whole.

d) What is important: To open source, the application of a software seems less important over the quality of a software. Why is this bad ? When I say the importance is given to the software and not its principles, the focus shifts from ethics to getting the software perform better. This is exactly what the corporate exploit and are interested in. We need better software, but not at the cost of user freedom and ethics.

e) Cost: Open source was invented by the companies as a diluted version of free software. Everytime a company uses the word open source, they are indirectly implying that this is a free of cost software gained by exploiting the developers labor (explain in (a) above). This thought itself fails the fundamental ethics of a social society.

I request all of you to always say Free(dom) software over Open source, and you are already contributing to Free software.


Everyday free software alternatives

This section is still under development, where I intend to list a few free software tools that people would require in everyday life.

My Operating system of choice is Debian 10 running a Cinnamon Desktop Environment. You can download the same by clicking here and selecting your choice of desktop environment. If Debian is not a comfortable choice, feel free to pick any GNU/Linux OS of your choice from here or here

Tool / Requirement Choice in free software
Office (Word, excel etc) Libre Office
Tally GNUKatha
Tally GNUKatha
Browser ICECat or Firefox
Audio/Video VLC
Email client Thunderbird
Image Editing GIMP
Image Editing InkScape
Digital Painting Krita
Video Editing Kdenlive
Audio Editing Audacity
PDF Reader Okular or LibreOffice Draw.
Text editing Gedit or Kate
Anti-Virus ClamAV
Malware scanner All tools listed here

How to contribute / get started

There are a few things, I can suggest everybody can do, and there are suggestions I can give to specific users. Let’s go through both the sections in brief.

Things everyone can do:

Use Free software. Its so obvious. The above table should help you get started. If you are still stuck or need advise, you could either reach out a free software movement near you or feel free to email me.

Join a Free Software Movement near you. I highly recommend one of sister organizations of FSMI. If you are from south india look out for the following:

Educate and encourage people around you to use free software. After all if you have read till here, it means the idea really interests you and you are willing to contribute.

But generally search for a free software movement near you, join and contribute along with them. I will soon write a blog on what is a free software movement and why it is important in the current times. Keep a watch.

Specific stuff :

Educational Institution (Schools/ Colleges etc):

  • Encourage your sysadmins to explore free software and convert your labs to use free software.
  • Organise regular sessions with the help of local free software movement to ensure people understand free software in the right sense.
  • If you could afford, organize paid training to your teachers in helping them use free software.
  • Refer the free software movement to your institution peers and help propagate the idea of sharing and cooperation with free software as an example.

Chef :

  • Cook-o-pedia : You could maintain a wikipedia for your recipes
  • If you constantly record videos about your cooking, along with uploading them on youtube, upload them to peertube (the free software alternative to youtube)
  • Publish your receipe as a public knowledge
  • Use free software in your phone and computer.

Lawyer :

  • Help local FOSS developers if their copyleft is violated.
  • Free software advocacy in government and policy groups
  • Country specific interpretation of copyleft licenses.
  • Use libreoffice.

Enthusiast :

  • Join a free software movement.
  • Go to meetups and conferences and talk about free software
  • Write blogs and make videos explaining free software to people
  • Explore alternatives and document to helps users identify alternatives .
  • Identify free software projects which needs contribution and connect people.

Linguist or Language enthusiast :

  • Localise. Localise. Localise

Writer or blogger etc :

  • Help in free software documentation.
  • Write or help make tutorials.
  • If you are also someone excited about languages, localise the documentation.

Programmers :

  • Contribute. Contribute. Contribute.
  • Support. Support. Support.

But at the outset remember, the philosophy of open source considers issues in terms of how to make software “better” in a practical sense only. It says that non-free software is an inferior solution to the practical problem at hand.

For the free software movement, however, non-free software is a social problem, and the solution is to stop using it and move to free software.

Hail Free Software. Hail Freedom.


A special thanks to Rizma, Ruchika, Ganesh, Anupama , Athitya and Vignesh for proof reading the article and suggesting corrections and changes.