There’s a saying in open source software that I think a lot of people don’t fully appreciate. It’s a simple saying that only grows profound upon reflection. It is the first and best sign that open source software is different than any other kind of software, possibly different than any other kind of major project since Adam Smith wrote The Wealth of Nations.

That saying, of course, is “Code Welcome.” When you are angry that your favorite software doesn’t have a feature… “Code Welcome.”  When you’ve identified something that needs fixing… “Code Welcome.”  When you and your friends decide to completely alter the entire program, “Code Welcome.”

Sometimes, the frustration is a little too real!

Sadly, an awful lot of people don’t understand the sentiment behind the phrase. Perhaps that’s natural.  We have spent our entire lives living under one set of rules. We buy something, and we expect our money to be part of a bargain with the seller that the product will work the way we want. If it doesn’t work the way we want it to, we ask for our money back or complain in open forums so that other people know not to spend money on that product.

With the advent of the internet and advertising, things have slightly changed. Thanks to advertising, the most important thing is our eyeballs rather than our wallets. But the underlying facts remain the same. We give our eyeballs in exchange for a product that works.

Sometimes paying with eyeballs is awesome.

With open source software, this age old exchange is very different. Users can still donate to the non-profit and can elect to buy cool merchandise if they like, but the only acceptable influence upon the open source project is the decisions and actions of the members and developers of that non-profit and the guiding principles of the project’s community.

So if money and advertising eyeballs can’t affect an open source software’s program, and if the software organization was like any previous software org, users would be totally out of luck.

Fortunately, open source software is different. Because while users can’t tell the org what to do, they CAN roll up their sleeves and do it themselves.

Think of the equivalents in real life. What if you saw a poorly designed highway, and rather than complaining about it, you could read a book and at nearly zero cost just fix it yourself? How amazing would that be? Or if you decided, “You know what, my town needs a pool,” but rather than having to raise funds, get permits, and find ground to build that pool, you just built it yourself totally for free? With open source, we basically all become Bob the Builder!

That’s the miracle of open source software. People see a problem and all they have to do to fix that problem is roll up their sleeves and do it.

The trouble that we have when working on Kodi and communicating to users is that they’ve joined a whole new world. They say there’s a feature they want. They say it should be easy to make happen. And we say, “Awesome. Do it. We’d love to see that feature as well.” But no matter how we say it, the user invariably thinks we are being sarcastic.

We are not. “Code welcome” is not a sarcastic reply to get users to shut up. “Code welcome” is a rally cry. It is a statement that says we are all united in this effort, and we can all contribute. And even if you can’t code, maybe you can find someone who can. Or you can learn. Many people submit code who have day jobs as butchers or accountants or lawyers or whatever, because they care enough to learn.

And then there are people like me. I’ve never learned to code anything beyond some pretty basic php, javascript, css, and html. What I did learn is that coders respect your opinion, regardless of your ability to speak the language they do, so long as you educate yourself as best you can and learn to listen and communicate. Don’t make assumptions about whether something is easy. Describe the feature you want. Learn and accept why it might be difficult. And then rather than yelling at people for being uninterested, find people who are. Kodi has 5 million users, many of whom are extremely code savvy. It’s very possible that all you ever needed to do was discuss your idea in a reasonable manner with the right people.

So when one of us says “Code welcome,” to you in the future, don’t think of it as a dismissal. Think of it as a challenge or an opening. We will not stand in your way. If you truly want a feature, the ball is in your court. Run with it.

“The power to control the world is in which finger?”


  • Sam Greer

    I welcome the welcome and would like to make some observations, comments and requests. First off I think a non-centralized structure can be great, but not when you’re a consumer looking for an answer to a question. Everything surrounding KODI is ultra disorganized. I spend the majority of my nights fielding phone calls of my XBMC box customers as their free tech support. I would like to see something organized in the KODI community where sellers of the tech can donate $1 – $5 – or some amount from each box purchase to a central, English-speaking live tech support with a portion of the money going to those working support, and a portion going to the coders and those providing servers, etc. I would gladly pay this to get my life back. I think the priority moving forward has to be a central source for live tech support and beyond that organization of issues / solutions. No one is going to register for a tech forum and spend 4 months reading all the threads to try and find a solution to an issue they are experiencing, assuming their issue is even addressed somewhere. Even if it’s a dollar to access tech support for the consumer (to prevent abusing the service) something has to get organized to get to the next level.