Free Software Philosophy Part 1: On Knowledge & Education
“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 understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. We sometimes call it “libre software” to show we do not mean it is gratis.
Free or open source software is an integral part of XDA, and without it we simply wouldn’t be where we are. While understanding the basic premise of free software is rather straightforward, its implications take some extra time to digest. Some are not aware that many of its founders, advocates and biggest supporters see free software as something beyond the code, and the more philosophical consequences of this practice are scarcely vocalized by what seems like a handful of passionate activists.
What does open source mean, outside of XDA? What are its virtues, and where can they take us? In this editorial series I want to give some thoughts on FOSS and the reach it can have in our lives and our social reality. As a warning, keep in mind the contents of these features will be, by nature, highly idealized and do not represent the entirety of my opinion or that of XDA. At the core, my goal is to share some of the ideas that shape my view on these matters, most of which I think you too will find interesting!
Today’s feature will be centered on Knowledge and Education. Let’s get started.
There is a trend I notice whenever one of XDA’s articles on GPL, open source, free software, or the like make it to certain sectors of the internet: ideological backslash. Some people seem to be under the impression that the battle between private and open software is essentially a modern byproduct of the Cold War, with both exponents getting their essence from capitalist and communist-socialist ideals respectively. While it could be said that FOSS is noticeably more left-wing in some regards, I think that in the end the dichotomy of left and right is very blurry, and the Horse Shoe effect places them side-by-side with their contrasting yet similar output.
The bottom of the truth, however, is that FOSS stands outside of the strictly-political ideological spectrum. There is, regardless, a very striking resemblance between both FOSS and communism: their common attempt to undermine or disrupt old proprietary relationships with the establishment of a new paradigm. In this system, neither price nor property nor contract direct the course of production, but the overall needs of the community take over the incentive. This sounds fair, as did Marx’s original Das Kapital at the time; but history proved that the maximum historic exponents of these “communal” government philosophies, soviet communism and nazi national socialism, were moral disasters that in the end perpetuated against the common good of both the nation and the cosmopolitan citizen. And thus, the famous term “communism works on paper” was spun.
FOSS, ultimately, represents Liberty, something separate from gubernatorial ideologies and also something that was both present and missing in almost every type of forked ideology or government type in history. Freedom to dissect or distribute code allows programmers to not just grab the utility they need and check for glitches or bugs (the wiretap kind too), but it also allows them to take a glance at the work of someone else, and in a way, access the fruits of their mind. Code can be extremely personal, and even though I’m just starting my programming career, I notice all sorts of different styles and approaches when reading other people’s codes. And the way I personally learn is through theory instead of pragmatism, be it in the classroom or the work environment. I often don’t require extensive practicing for my university courses, for example, because I put much more work and concentration on trying to understand the theorem rather than mimic it; on study groups, peers scribe and I usually read.
Because of this, as an individual I value the access to knowledge and information, as in the end science or philosophy is a cooperative job; without the previous work of other great minds before oneself there is nothing to stand on. Isaac Newton put it perfectly when he said ”if I have seen further it is by standing on the shoulders of giants”, and this attitude is one of the ultimate signs of respect one can have towards scientific knowledge. When it comes to GPL, however, we see Xiaomi, Motorola and others forget to pay their respects to the work of Linus Torvald and his Linux Kernel, which allowed Android – and consequently, their ROMs and ours – to exist the way it does. But the former point is even more important: what if the monumental amount of knowledge is off-limits leaving us with no shoulders to stand on?
XDA is one of the biggest forums I’ve visited, and the biggest I’ve been part of (it is also my favorite one, by the way!), but it was neither the first nor the last of internet forums. And the first internet forum was not the first forum at all. The word forum is rather old, and the concept even more so. In the ancient world, particularly Greece and Rome, there existed forums located at the heart of the cities, that functioned as pretty much everything you’d expect a forum to. Discussion of news, science, philosophy, politics, business, as well as art performances and a marketplace for trading… it was basically the internet, but IRL. Being part of these agoras, as many call them, was an integral part of ancient life and the disorder now known as agoraphobia was originally coined in regards to those outcasts who refused to partake in the forums (quite the plot twist, huh?).
The sharing of uncensored knowledge on these forums allowed for a thriving culture where wisdom was a primary virtue to seek. While academias (universities) were still mostly limited to those worthy enough (money or power), a great deal of natural philosophy (which at the time included mathematics and physics) was practiced or developed in the forums, like we do with Android at XDA. This analogy is important, because it shows us that from the inception of civilization the sharing of knowledge was regarded as a key asset for the betterment of a society. Aristotle described education as “an ornament in prosperity and a refuge in adversity” and the Greeks also had a very good system of education. Freedom and participation, thus, were key elements of the human progress that kicked off the amazing history of mankind.
Fast forward to today; the internet is an open source of knowledge, and we’ve got forums like XDA to discuss the things we love. Yet, at the same time, we’ve got world powers trying to seize control of the internet and net neutrality, or silence opposition or dissenters of ideology through censorship. More and more, the liberties that made countries like America, “land of the free, land of the great”, so prominent and exemplary are disappearing under whatever pretense; national security, justice, democracy and most ironically, liberty itself. And where world powers go, many nations follow. Are we going to see an end to the open sharing of knowledge, free speech, and liberty?
Free as in Freedom
FOSS is collective power in action, and is one of the clearest indications that prove certain degree of validity to the loose notion of “collective intelligence”. Free software enables a community to grow and share its collective experience and expertise to continually improve oneself through the software, but also through the intellectual gain of the process. Programming is one of the best ways to exercise the mind, and the constant problem-solving that takes place behind the mind’s scenes when writing code is something many of you are keenly aware of. In today’s day and age, software is also a fundamental part of our social, academic and economic lives. It is not as widespread as it should be, however, and many people refuse to even wonder where their applications come from. At my university, a biology student friend of mine once asked me who put all the buttons and pictures in that specific arrangement on her phone; my reaction was mixed between “is she really asking me if there’s someone individually piecing together her facebook feed in real-time” and “well, at least she’s curious enough to even ponder about it”.
The matter of programming being taught at schools as an essential part of elementary and/or secondary curriculum is widely debated in many nations. My country, for example, has decided to push programming to impoverished villages by gifting free computers to all students and having a special deal with codeacademy – but programming is still not in the official-essential curriculum, and thus many people don’t bother (especially their target demographic). On a personal opinion, I think programming should be taught in schools alongside other subjects, but the core of education should always remain in Mathematics and Language. Linus Torvalds, perhaps the most recognized free software advocate out there, was educated in Finland which has by far one of the most homogeneously successful education systems in the world. His stance of programming education, however, is rather surprising:
“I actually don’t believe that everybody should necessarily try to learn to code. I think it’s reasonably specialized, and nobody really expects most people to have to do it. It’s not like knowing how to read and write and do basic math.
(…) That said, I think people should have some way of getting exposure to it, just so that people who find that they enjoy it and have the aptitude know about the possibility. Not because everybody will want to or need to learn, but just because it is a great vocation, and there may well be lots of people who never realized that they might actually like telling computers what to do. So in that sense I think computer courses in schools are a great idea, even if I do not believe in the “everybody-should-learn-to-code” thing.”
Whether you agree with Linus or not on the compulsory aspect, I’m sure we all know that providing the option should always be encouraged by families given how good of a profession it is, and how it looks to be even better in future years. Computer Science has become a much more popular choice, for reasons that go beyond regular software. Video games, for example, bring many students into Computer Science degrees… on a personal note, I noticed that the ones I shared math courses with in my introductory year had no idea that Computer Science was so math-intensive. I also have a friend who enrolled because he wanted to fix hardware and build gaming computers at a shop, and he too was not aware of the mathematical nature of CS degrees – which led him to drop out in frustration. Some people are just clueless, really, and the misleading name of the course doesn’t do it much justice. The first two minutes of this lecture introduce the idea (and why the name “computer science” is misleading and unreasonable) perfectly.
With software the thing is a little more ridiculous. As noted in the example of the fellow female student, a lot of people don’t even know where code comes from, or what it is doing behind the scenes. Unlike with cars or other machinery, you don’t have Hollywood showing a bunch of programmers debugging code and compiling it. Yet there are movies entirely revolving about garage activity or ones where people find themselves opening cars to fix the engine and start the vehicle before the bad guy comes near. Then there’s the fact that opening a car is as easy as lifting a sheet of metal, while cracking an application open is a little more complicated and not quite as straight-forward. And if the software is not open, there’s not a big chance you are going to see its unobfuscated guts at all. In this sense, proprietary software deprives people of knowing the very essence of what they are working with, and this knowledge can be enriching to both the cognitive mind and the pragmatic life of whoever reads the code and assimilates its structure or algorithms for future use.
Richard Stallman is perhaps the most vocal (and caricaturesque) free software activist I know about. And on the topic of education, he too has plenty of ideas as to why free software is good for education. According to this interview, his first reason for this is that schools adopting free software would save up money – that’s a given! At the same time, he notes that students can become dependent on the proprietary software loaned to them by an institution, and then be conditioned to pay for it to continue their careers (math software is pretty expensive, for example). A deeper reason to him is that it can form better; to learn good skills, he says, you need to write a lot of code and read a lot of code. And at the same time, write small changes in big code to see their results, and proprietary software doesn’t allow these last two. Finally, he says that schools have a mission to teach not just facts or skill, but also spirit of good will, cooperation, and helping others. He ends his talk with the joke “students, if you bring a program to school, you can’t keep it for yourself, you must share it with the rest of the class!”.
Free software and proprietary software both have their place. Like everything in life, balance is key to virtue. However, I also believe that both types of software have their role. Free software can help spread precious knowledge that serves as a catalyst for progress, and in this sense I believe that those who find or create important applications of code should feel a sense of duty to share them. Imagine, for example, if the Greeks wouldn’t have pushed for a communal development of science. Imagine if science wasn’t accessible even today, and if it was this coveted esoteric practice that those in power used to subjugate the rest of the world with the technological and cognitive superiority it provides. You wouldn’t patent a law of physics now, would you? And without seeing what’s inside a clock, you might never understand what makes it tick.
I think the GNU Organization has a good message that describes the situation:
“Software freedom plays a fundamental role in education. Educational institutions of all levels should use and teach Free Software because it is the only software that allows them to accomplish their essential missions: to disseminate human knowledge and to prepare students to be good members of their community. The source code and the methods of Free Software are part of human knowledge. On the contrary, proprietary software is secret, restricted knowledge, which is the opposite of the mission of educational institutions. Free Software supports education, proprietary software forbids education.”
Does this mean proprietary software is bad? Far from it! If anything, it further supports the idea that there’s different moral and practical roles to both kinds of software. For example, proprietary software that doesn’t contribute any sort of breakthrough useful towards education would probably have no reason to open up its code (except for security inspection) – like you wouldn’t ask a magician to explain his magic tricks anyway. But free software has the virtue of bettering the world through the freedom of education, something that at the same time is retroactively justifiable. Because, like Benjamin Franklin – a founding father of cosmopolitan Liberty – once said, “without freedom of thought there can be no such thing as wisdom; and no such thing as public liberty, without freedom of speech.”