What are the important values Free Software and Open-Source carry, and how do they complement each other? I'll give you my two cents - in all humility.
If you are not totally comfortable with the notions of Free Software and Open-Source, read the first part of this series.
The Freedom for the users to control their softwares is particularly important nowadays with the ongoing debate around data privacy and the ubiquity of devices. Can users simply rely on the ethics of a privately-own for-profit company? Surely not. Especially not today, with the war of information systems among big nations. It is highly possible that spywares are everywhere from your computer to your phone and your IoT device, some of which are probably installed by the infrastructure vendor itself.
For more information, visit Richard Stallman personal website for an opinionated view on the question. Although he might seems a little paranoid at times, one must acknowledge that this man is full of wisdom when it comes to technology ethics.
"Total surveillance: good or evil?" is an interesting summary of the situation. Edward Snowden disclosed that to some extent, the big tech companies are lying to our faces. I'm not necessarily against all forms of surveillance - but I believe that it should be decided conjointly with the whole society instead of making us trust What's App/Skype/whatever-messaging-app to spy on us.
I want to believe that the majority of the tech companies which do not abide to the Free Software ideology still try to be fair and transparent in their use of our data. However, I don't think it is reasonable to simply "trust" these companies with our data.
With the rise of AI and data mining, the Free Software ideology is particularly relevant. If AI remains as the property of privately own for-profit organization, it's likely to be used for Evil at some point. The threat should be taken seriously. Those who say the opposite will have to take responsibility for their actions and related future events. I do know we are far from creating a real human-like intelligence but simply gathering and processing data without true consent is highly questionable.
Free Software dimishes the risk of malwares by giving control to the users, but the only way to be sure that you don't run a malware is to build and deploy a source code you fully understand on a machine that you fully control, a way which is apparently.... not for everyone.
That is why I am proud to support the cause of Free Software.
Technically speaking, softwares made in the open are, as opposed to closed-source software:
- less likely to be thrown away 1 month later.
- more likely to have better performance as well as security, since more pairs of eyes are looking at them. Management around open-source is de-centralized and more technology-focused.
In my humble opinion, the main problem with proprietary softwares is that we may not be able to know what they are actually doing. We cannot verify in the source code. To me, the essence of the Free Software movement is the availability of source code. It is less important if you can modify the source code, reuse it or sell it. For example, if you have access to the Facebook/Slack source code, at least you'd make sure that they are doing nothing wrong with your data, that they are doing only what they are supposed to.
If they don't, at least you'll have the proof and you'll be able to report them and stop using their softwares for good.
A possible flaw of the Free Software movement is that it is not easy to make a great product and design a profitable business model solely with GNU GPL. Some business models work, but they are either limited or require lots of creativity. More often than not, the use of proprietary software, either closed-source or source-available, is necessary to generate higher revenue to support and improve the project. The Open-Source movement acknowledges that.
Besides, Open Source acknowledges that sometimes, proprietary softwares simply do the job better than their Free software counterparts, especially in terms of design and ergnomics - an aspect sometimes overlooked by the Free Software community. Take Microsoft Word and OpenOffice.org Writer as an example. Microsoft Word is really in advance in terms of design and ergonomics to me, no offence intended to the OpenOffice.org development team. Working against a giant like Microsoft is tough, especially when you rely mainly on Apache Foundation donations and cannot afford hiring as many designers. Big up to the development team of GNU GIMP 2.10 for being the perfect counter-example to that point. Imho, GNU GIMP is better than Adobe Photoshop in every way, including ergonomics.
Open Source values convenience over ethics, and I think, to some extent, it makes sense. Why choosing a lesser Free Software over a solid proprietary product that already exists in the market? I think it is ok only if the source code of the said proprietary software is made source-available, at least to users or third-party security experts. I do not trust closed-source, and I am even considering that closed-source should be illegal. But for most people out there, softwares are just tools. They don't want to loose time installing, configuring and so on. They just want the software to work so they can focus on their business.
In practice I am still using plenty of closed-source sofware and I won't stop anytime soon, simply because they are too wellmade and I can't afford the inconvenience of not using them - at least for now. However, when I am building one software for my own company, there is no way I build anything else other than a Free Software or a software promoting Free Software, if I can find a valid business model to support the project. If I can't, I will at least make the source code available to my users, - and/or I will ask third-party security experts to verify my source code (like 1Password does).
The Free Software movement is very political. I do not agree with Stallman's view that "owners" should be placed at the same level as anyone else. "Owners" deserves credits and retribution for their work.
Stallman fights for software freedom to the stage of applying it to all media contents, like movies and books. This is a bold position that is in no way compatible with the reality of the market. In China, film directors are starving to death because they are abused by their producers. Making a movie demands tremendous efforts and a hell lot more money than making a software. Unlike software developers, filmmakers never ask viewers to "support them in deploying their movies." There is no sustainable business model other than selling access to watch the movies, and in no way should a director be left with nothing but debts after releasing the film.
In fact, another chinese director is "begging for survival"(link in chinese language) as he spent 6 years making an animation that was leaked immediately after it was released in cinema.
Netflix did push the production of lots of independent and original contents that would have never have been made and released without the money. And what is Netflix but a sort of modern pay-to-watch cinema? At the end of the day, it is viewers who fund movies and this cannot be different.
Similarly, a writer is entitled to get the benefit of his work, and I don't understand why Free Software advocates like Pieter Hintjens and Richard Stallman are systematically giving away the "source" of their work online for free. What's the point? Most people will just not buy your books and you will just have worked for free. Why volontarilly becoming a slave of modern society?
Back to software.
I believe that ALL softwares should be freed and most should be publicly available as open-source. It's about making the world a better place to live in. Start making software that people genuinely need. It has been said that softwares are the catalysts of all other industries. At this point you may say that it could apply also to books and movies. But no. Because software developers can always be paid to make customized solution or to help with the deployment process (until AI replaces them, but that's another issue ;)). As explained earlier, proprietary softwares can have hidden functionalities, but a book or a movie cannot hide itself.
Stallman said in a conference, "the price is a side issue, I don't care at all!". I strongly disagree. This is exactly why lot of people don't make Free Softwares. Stallman then takes the example of GNU Emacs, a Free software he sold in the past, but that was when barely 10% of the global population had access to the internet. You don't see many Free Software sold nowadays. You even witness people getting mad that someone dared selling OpenOffice.org on eBay.
While the FSF likes to say that Free Software means Free as in Freedom, not Free as in free beer, in practice, it is really more difficult to make money with it than with proprietary softwares. In fact, at the very beginning of the movement, the two meanings of "free" were not explicitely distinguished.
I am under the impression that Stallman doesn't take business issues seriously enough, as he insisted later in the same conference that "The price is a minor detail, I care about Freedom".
Free Software makes it hard to enforce payment to buy the software. We will see later why.
Enforcing payment is in no way unethical in my world. Softwares take many smart people a large amount of time. Besides from developers, a great software needs designers, managers, sales team, lawyers, and other experts (doctors if it is for a healthcare software for example). Free Software advocates often ignore that they need all these other people, which is why many free softwares have lower UX.
If ALL softwares were free, it would for sure change the game, but for the greater good:
- developers will not have to work on crappy proprietary code that will be thrown away in 2 months. Concurrent companies will be encouraged to put together their effort in contributing to the same source code. As a result, we save both money and time, and the users will have access to more unified solutions, less systems to interoperate with.
- users will have control, they will really know what they use.
Things go well if ALL softwares are free. But if even one single entity in the market has the right to make proprietary softwares, it becomes unfair. That's why finding the right business model to support the development of your software matters. Finding one that's both ethical and financially sustainable is a huge challenge. That's "a pragmatic approach to the Free Software ideology" is about.
Free Sofware is a political ideology that goes way beyond the realm of technology. The whole point is to give freedom to the users so tha they can make sure they don't run malware/spyware. Open-Source is a practical approach to software development that acknowledges that working in the open makes better products. The Open-Source ideology embraces more easily being combined with proprietary softwares when it appears necessary for the business viability of a venture. Free Software does it only as a long-term strategy towards its ideological goal. In the next episode, we will talk about the different sort of business models you can adopt to support your Free Libre Open Source project.