/ The Personal Blog of Basil Labib / blog

Hacktoberfest and open source

October 21, 2021

DigitalOcean, a cloud service provider annually hosts Hacktoberfest, a month-long celebration of open source culture where developers from around the globe contribute to open projects. It is in its 8th iteration this year and has become quite an attraction for programmers, young and experienced.

It is unfortunate that most people don’t really understand what open source is. This post will talk about open source, the people, beliefs, and psychology behind it and how it has changed our lives.

THE PHILOSOPHY OF OPEN SOURCE

Open source is a philosophy, a collection of ideas that have evolved into a culture. That philosophy is grounded in freedom and liberty. The founder of the GNU project and eventually one of the pioneers of open source, Richard Stallman is famously quoted,

“Think free speech, not free beer.”
~Richard Stallman

This succint definition captures the essence of what open or “libre” (from French meaning “freedom”) means. Open source is not a free commodity for anyone to use (though it is that in some plane of thought) but it is much more than that. It is an expression of defiance to corporations and closed systems. Crafty people have, in all eras, attempted to dominate the masses. With software, such ambitions have become more absolute and sustainable because software affects so much of our lives and will continue to do so with increasing fervour. Open source is denial and decentralization of that power back to the people. However, modern corporations have, instead of opposing, embraced open source which is an interesting compromise.

PEOPLE WHO WRITE OPEN SOURCE

As the computing era was underway in the 60s, people obviously realised the potential computing carried. It was one of those mega money-making invention that rarely blessed mankind. However, there was one group who believed freedom should extend to software too. They were romantic cyberpunks who believed that no single group should be allowed to dictate what and how software was created. This was a group of misfits, and troublemakers. They were non-conformists and brilliant. They broke things often and fixed them, often infusing their own ideas and ideals. They were also, what is now popularized as, a “nerd” or a “geek”. But unlike the popular “geek” image painted by media, they were agile and vigilant and receptive to the needs of the society. They were not careless about their expertise and knew what power they yielded. They were responsible, persistent and infinitely curious. These visionaries were called hackers. To be called a hacker is a badge of honour and not of disgust. It is unfortunate that media has rallied this pure word to mark a certain section of malicious actors who use their skills mostly for destruction and chaos. That is a distortion of the real meaning of a hacker.

THE PSYCHOLOGY OF A HACKER

If someone is really interested, they may ask the question: Why do hackers behave the way they do? Why do they see it more befitting to give away their code for free, instead of making money and getting rich of it? Naturally, that is what people in other fields would expect and choose to do.

So, here’s the thing: The peculiarity of Computer Science is that it is a highly specialized field. Most people just “leave it to the experts” and unlike fields like personal finance where people have to “get their hands dirty” and learn a thing or two, they can simply forget about what goes inside the black box of their systems and assume everything works fine. Nobody bothers to understand what programmers and software writers do, let alone appreciate the art of writing code.

This leaves hackers in an awkward position. It’s a psychological response. This group of people seek appreciation from people like them and because they are few in number, they share a special and unique sense of camaraderie which they try to consolidate. Being blissfully unaware of social norms and conventions, they communicate what they are truly passionate about: their code and their visions. The freedom to exchange ideas and distribute code freely is an offshoot of this process. It is the cry of a brilliant dreamer to seek out appreciation from the small community who, they are sure, will understand his visions and his works.

Not for a moment believe that what I have outlined is anything short of a superhuman power. How many professionals would choose to put the good of community above their own selfish gain?

For more on hackers and their beliefs, see here.

WHY IS OPEN SOURCE THE FUTURE?

Open source is the culture that nurtures thinkers, creators, and hackers. As Paul Graham, worked on LISP, founder of Y Combinator (a tech startup incubator), wrote in this interesting essay “Hackers And Painters”,

You can’t do anything really well unless you love it, and if you love to hack you’ll inevitably be working on projects of your own.
~Hackers and Painters (Essay)

One might scorn in disgust as they use an open software and complain that it is suboptimal or that it doesn’t look good. It is because either 1) That software is fairly new so it doesn’t have much community yet 2) You have completely missed the point. Freedom of expression is most important to hackers. It is the space of infinite creativity where they can realize their wildest dreams. If you don’t like the way a software is built, they give you the opportunity to change it yourself. This choice of having an actionable opinion in what one uses is non-existent in commercial software. This is also one of the reasons why software written by hackers are often choked full of nifty, geeky shortcuts to literally everything, many a times, to the disgust of their corporate employers. It is because they don’t write code to please their employees. Hackers intentionally design their software to be modular like a jigsaw puzzle. It is perhaps because they understand most intimately, of all people, the high of writing great software and the need to communicate ideas.

“Sharing knowledge is the most fundamental act of friendship. Because it is a way you can give something without loosing something.
~R. Stallman

WHY GO OPEN?

Creators and builders understand the need to share their ideas without any hindrance. It leverages different perspectives, minds, and hands which eventually enables software of far superior quality as opposed to a commerical alternative. Take for example, the GNU project, Emacs, Vim, git, Linux, BSD, Blender, Python and so many others. Decentralized fintech such as Bitcoin and Ethereum which are challenging the financial tapestry of our society. Even recent corporate projects have been opened such as Facebook’s React framework.

People believe that if one has to pay for something, then the thing they are paying for must be a valuable product worth the value set by the seller. This is natural herd psychology yet, it’s a fallacy. The price doesn’t determine the value. They are not causative events, in economic jargon.

When code is scrutinized by thousands of peering eyes instead of a couple hundered inside a closed organization, it naturally leads to more bug-free, robust, and versatile systems. Imagine the marvel that is the development story of Linux. Torvalds admits, in his autobiography, to have manually applied the patches (sent as tarballs from strangers over the internet) into his codebase! And somehow it worked.

“Software is like sex: It’s better when it’s free”.
Linus Torvalds.

PERSONAL EXPERIENCE

I wouldn’t have started my fascinating journey into software, had it not been for open source. I started out by literally pulling out and reading source code of repositories on Github! I can see fairly clearly the self-reinforcing structure of open source. It invites not one group, but everyone to contribute back and on the way, enabling them and equipping them with the tools and expertise to do so. And why shouldn’t people have a right to look into the source code of the software they use and depend on every day?

LITTLE HISTORY

(I saved this for the last because I think history doesn’t appeal to many people. But it does to me!)

A basic outline of the history is called for, at this point. It started at AT&T Bell Laboratories in the 60s. This place was the geek haven of the 60s. Most of the foundation of computer science as we know it today was invented here. The transistor was invented at Bell Labs. Dennis Ritchie and Ken Thompson, two prodigious programmers, writers of several CS “bibles”, and visionaries invented UNIX after MULTICS, another operating system failed to materialize out of a contract. Note that this was the pre-personal computing era so most of these research is geared towards militiary or enterprise applications. UNIX was (is?) a revolutionary piece of software. It introduced novel concepts such pipes, user-level programmable shell, hierarchial file system, and the famous UNIX philosophy: “small is beautiful”. But, UNIX was essentially a commercial project. The strategy of AT&T was simple and the gist of it exists in this 1907 tagline,

“One Policy. One System. Universal Service.”

They collected and hired the best, gave them creative and financial autonomy, and reaped the benefits of commercialization by leveraging its monopoly in the telecomm sector.

Richard Stallman independently started implementing a complete system from scratch and called it the GNU project which is a recursive acronym for “GNU’s Not UNIX”. The terms of the GNU Project, launched in 1983, was simple: This source code is free. I won’t charge you any money. But if you modify and make something interesting, you have to publish it with this message. The GNU Public License or GPL was ironclad with no judicial loopholes for exploitation (because Stallman employed lawyers to draw the terms). Though, there were pockets of “hackers” around the globe who were tinkering on their machines, the GNU project was the one that came into the spotlight. The idea wasn’t new, but it captured the public imagination like never before. It spawned the *BSD family of operating systems, all open. And of course, in 1991 a 21 year-old Finnish student started writing a kernel using GNU software and make his hobby project into one of the most successful open source stories in recent times. Linus Torvalds became a sort of poster boy for libre software. Though, Torvalds has recently been known to controversial, I gauge people with what they did. Linux and git are great software. I use them everyday.

The details of Linux is a messy one due to lack of standardization, prolific burst of new microprocessor architectures, birth of WWW, and potential financial gains. For more, I suggest UNIX: a history and a memoir.

FURTHER READING

I suggest two authors that I have personally read in recent memory. Paul Graham’s collection of essays “Hackers And Painters”, and Eric S Raymond’s (a spokesman for now dwindling hacker population who harbours impressive political thoughts on freedom) “The Cathedral And The Bazaar” which is a very interesting study of the mechanics and philosophy of open source. For someone who really cares about hacker jargon, you can read the jargon files online (technical expertise required to fully appreciate) or order a copy of the same.

Also, of much importance is ESR’s site that though being CSS-agnostic, documents very interesting pieces of information in the usual overtly humorous and sarcastic tones of a hacker.

BIBLIOGRAPHY

  1. Torvalds, Linux; Diamond, David: Just for Fun - The Story of an Accidental Revolutionary, Harper
  2. Kerninghan W. Brian: UNIX - a history and a memoir, KDP
  3. “How to Become a Hacker”: Essay by Eric S Raymond
  4. “Hackers and painters”: Essay by Paul Graham

Basil | @itbwtsh

Tech, Science, Design, Economics, Finance, and Books.
Basil blogs about complex topics in simple words.
This blog is his passion project.