Have Developers Ruined Open Source?
Have Developers Ruined Open Source?
Join the DZone community and get the full member experience.Join For Free
Get the Edge with a Professional Java IDE. 30-day free trial.
Creative types are notoriously hard to work with. The artistic temperament has been widely observed as one that is prone to reclusivity, moodiness, and an independent streak that pushes back against authority. The link between creativity and mental illness is one that has been exemplified throughout history, from Vincent van Gogh to Sylvia Plath to entertainers like Robin Williams - and it may be why the open source community can be extremely difficult to work with.
Open source has permeated a wide variety of industries and companies, from developer programs to communities like GitHub. Recently, the list of companies who are going open source includes National Geographic, Microsoft’s Halo, and, reportedly, even the FBI used open source back in 2012 to find Tor servers. Collaboration within a community can be a rewarding experience that offers opportunities to network and innovate.
The only drawback? The very people who make up the community.
Working in technology undoubtedly requires a thick skin, and some of the greatest innovators in technology are reportedly difficult to work with. One such example was Steve Jobs, who could apparently be a bit of a tyrant - so much so that Business Insider even put an entire slideshow together that documented sixteen examples of when he was a “jerk” (including chewing out a Whole Foods employee and the alienation of his daughter).
Jobs was a developer as much as he was an artistic innovator, and being an artist and a developer are nearly one in the same. They both seek the latest and greatest, desire to push the envelope, and typically prefer to work alone. Whereas a painter uses a brush for expression and a writer uses words to tell a story, developers use code to create and build in much the same way. So, it makes sense that creative types, no matter the field, share a similar temperament, one that is characterized by its instability.
The BBC published an article back in 2012 stating that not only were people with artistic temperaments, specifically writers, more prone to mental illness (such as depression, anxiety, bipolar depression and schizophrenia), but were also twice as likely to kill themselves. Citing research found by the Swedish Karolinska Institute, the article reported:
...the restrictive and intense interests of someone with autism and the manic drive of a person with bipolar disorder might provide the necessary focus and determination for genius and creativity.
Similarly, the disordered thoughts associated with schizophrenia might spark the all-important originality element of a masterpiece.
The tendency towards instability in creative personalities may result in much of the friction in the open source world. In their article “How to Avoid the Community of Open Source Jerks,” ReadWrite examines the growth of open source and how the progression of some open source software has been hindered due to hostile developers. One of the most notorious examples is that of the Linux community:
Linus Torvalds, who first released Linux over a decade ago, admits to making a "metric s--tload" of community mistakes in that time. Like, for instance, telling this developer that "*YOU* are full of bulls--t." Or castigating Red Hat for "adding stupid code to the kernel only to encourage stupidities in other people."
ReadWrite also cites communities that are “unwelcoming to would-be contributors” or environments in which “adversity reveals an undercurrent of antagonism toward community members that don't fall in line with the project leader's chosen path.”
Conflict that arises when leaders push a direction contributors disagree with has recently been seen in the forking of Node.js. ReadWrite reported that dissidents of Node.js want to "loosen" Joyent’s hold on the development. Members of the community have been vocal about their opinions, with developers like Ron Korving reportedly stating:
“I'm quite frustrated by the lack of communication from the project lead to the community. In fact, it feels like the community is pretty much being ignored right now, including those who contribute the most.”
Another example of open source nastiness is that of the OpenADLP project. Howard Chu, one of its core members, posted this message to anyone thinking of contributing to the community:
If you post to this list and your message is deemed off-topic or insufficiently researched, you *will* be chided, mocked, and denigrated. There *is* such a thing as a stupid question. If you don't read what's in front of you, if you ignore the list charter, or the text of the welcome message that is sent to every new subscriber, you will be publicly mocked and made unwelcome.”
But the issue can’t all be chalked up to mental disorders; that is much too general, and too damning, of a statement to make. Often, behaving in a vicious manner can simply be summed up as being a jerk. In fact, as Forbes writer Gene Marks mused after Jobs passed away, being a jerk was probably the key to his success in the business world:
Clearly, [Jobs] didn’t suffer fools very well. And the world is full of many, many fools and too few real geniuses. If Jobs didn’t behave that way would he have achieved so much? Would we all have benefited from his creations?
Jobs was, in a word, focused. He had a clear idea of what he wanted, and he didn’t let anyone hinder his progress or stand in his way. But the difference between Steve Jobs and open source is that Jobs was a force to be reckoned with within his company and position therein. Open source, in contrast, is based on a community model that, while leaders are chosen to guide it, doesn’t necessarily operate as a team of developers would under a CEO.
When it comes to open source, being a so-called jerk just doesn’t pay off. Open source is based on the idea of community, on the idea that developers can come together without the overhead of a company or the overbearing control of a CEO and create for the sake of furthering programming. Additionally, progress can quickly be hindered due to the virulent behavior of the few, as evidenced by the Node.js forking. Mikeal Rogers, a Node.js contributor, said that the IO.js project was created as an effort to "democratize" the open source project:
“We don’t want to have just one person who’s appointed by a company making decisions. We want contributors to have more control, to seek consensus.”
Community is essential to innovation. Bert Hubert, the main author of PowerDNS, stated in his blog that "community is the best predictor of the future of a project." Hubert acknowledges that open source still has its nastiness, so when you're choosing a project to join, you should do your research extensively:
"Before picking a technology to depend on, [developers should] investigate how they deal with feature requests, bug reports and questions...what you will learn is the best predictor of how the project will serve you (and vice versa!) over the coming years."
Open source, at its best, proves that collaboration can be a beautiful thing. As I’ve reported in the past, open source has helped launch startups for aspiring entrepreneurs and has created a community that is supportive, informative, and innovative. Being creative isn’t an excuse to be a jerk, and, if anything, perpetuating the idea that creatives are impossible to work with will only drive aspiring innovators away from the industry.
So, there’s still hope, developers. Just remember to play nicely.
Opinions expressed by DZone contributors are their own.