Read with caution, it might do some wibbly wobbly stuff to you

Menu

Yesterday I wrote this article and today I want to elaborate some things about it.

You see, free software is free of charge, but there is much worse price to pay than a few bucks – quality and cadence.

The first thing that annoys me is people that think “open source should be done by volunteers and kept free (as in free beer).”
Imagine this:
Guy X starts an open source project
Guy X realises that he is human (gee, imagine that!) and that he needs money to live
Guy X tries to make money out of his indie project and fails
Guy X gets a real life job, so he will be able to eat and pay his bills
The real life job takes guy x’s time and energy to work on his project and as a result the product he made is worse quality and gets released rarely
Aftermath – open source software gets hurt, because guy x can not work on his project full time and I challenge you to find me any open source person that likes open source to gets hurt.
This partizan way of thinking needs to go as soon as possible, fullstop.

Second thing – “if you wanna make money, go proprietary.”
That is driving me nuts. Folks, we (people that create open source software) do not want to make our stuff proprietary if we can avoid that. We love the open source philosophy and want to follow it. And then some people come and tell us to basically ditch that, because it is next to impossible to make money out of open source. Advise us to go the proprietary way, despite that they also love the open source way. Well, excuse us for being such damn annoying idealists and having the desire to actually keep our work open. Are you people that advise us to go proprietary wanting to say “Hey, I would prefer keeping you project proprietary and paid, instead of open source and paid / funded by donations.”, because that is exactly how it sounds.

Third thing – “look at the RedHat model, they make money out of open source.”
That is obnoxiously moot argument. I am talking about small projects and indie development here and RedHat is a huge company. Here is a realisation – not all indie open source devs and designers can create a huge million/billion company, infact it would be great even if 0.0001% can do that. Took you by surprise, didn’t I? Well, no I did not and you know it.

Fourth – “I will have to spend a fortune on open source if I start donating to indie open source projects I like.”
No, you will not. Lets say you choose to donate to 4 projects (which isn’t a small amount) monthly. I did a quick math yesterday and the results are that if everyone who has circled our Numix Google+ page throws just 5 dollars monthly (which is next to nothing for the downright crazy work we do) all the team (three people) will be able to make a decent living of Numix and we will be able to work full time on it, hence improving the quality rapidly. 5 bucks monthly, that’s all it takes. Which is what? A pack of fairly cheap cigarettes? Your coffee for two mornings? A small SubWay sandwich? And that is for relative new project like Numix (albeit quite popular when it comes to theming). For projects like VLC, GIMP, Inkscape and etc … the amount would be much smaller for the userbase is so much bigger. Yeah, for smaller projects the amount would be greater, but in those cases the creators of the project have to improve it and popularise it before asking for money.

Fifth – “But even if I throw money at some project it won’t make a difference.”
Yeah, that is true, your small amount of money will not, but small maount of money from every members of the projects’s userbase will make a difference. Find a fairly project you like (or like and use) and ask the devs/designers if he would want some money for his work (or even make it his job) and the advise him to ask people for money. It may work, it may fail, but even if the latter is the case you would have at least tried. To make it easier for you projects like Numix, Moka, elementary and Nuvola Player can definitely use more money.

Folks, you must realise one extremely simple thing – all we indie open source developers and designers and yada yada are human and that means we need money to make a living. By not giving us money you literally force us to get real life jobs and those jobs (an most of them are related to making proprietary software and I doubt you like this) eat up the time and energy we can devote to our projects. If we were paid to work on them full time, than those projects would have been tons better and needless to say that would have been good for open source. Full time working on a project means the products will be better and have better cadence. It is up to you if you want to use free of charge software, that is of not so good quality and released rarely or if you want to throw small amount of money at projects you like on monthly basis for open source software that is of good quality. I personally think the first is not really an option, but hey, I can not make all people actually using their brains and having some very basic common sense. Want to not keep using our stuff for free? Fine. But don’t expect this stuff to be of as good quality as it can be or anywhere near the top.

Yeah I am being brutally honest, but do not expect me to cut any slack for I am tired of so open source getting hurt because of so many great projects being kept as pet projects only, because of lack of money. We all want open source software to be of better quality, to replace the proprietary one and because the world is using the monetary economics model we need money to achieve these goals.

So, if I’ve managed to put at least some basic common sense (in your what it seems quite stubborn heads), start donating some money to indie open source projects you like and are still being kept on not professional, because we need those money to make these projects our full time jobs and by doing some actually making great products.

Blimey, loooooooong time no post! So much has happened that I won’t even bother to write it down for it will take me few millennia times.
Now, lemme jump straight to the point – open source is utter rubbish when it comes to monetising.
Imagine for a second that I am leading a lecture in some open source conference and I ask this – “How many of you have some open source projects you work on?”. I would imagine all or at least huge percentage of the attendees would raise their hand. Now imagine how many would raise their hand to the question – “And how many make a living from open source projects?”. Yeah, most likely no one or very few.
And that folks is a big issue.
No, I mean not just big, or big big, I mean freaking HUGE issue.
You see, creating products requires time and effort and the better this products are, the more time and effort they require to be made.
This spring I co created a visual brand called Numix with two more open source mates. For the little time Numix has been there it has become insanely popular and we’ve been improving it on daily basis. I kid you not, the thing is very popular and very large, hence it is also quite hard to maintain and improve.
We are selling some aspects of it (mind you, the majority of it is free) and we also have a donation for at our webby (feel free to buy some of our artwork or throw some quids at us ;P) and we’ve made approximately around 900 USD for about 6 months. Compared to the crazy amount we put into it (and we will continue to put) this sum is next to nothing.
How much a designer (because this is artwork we’re talking about here, not really hardcore app development) that works for some company? Well, even in my crazy Balkan country he will make more than those 900 bucks on monthly basis. Now imagine if we’re talking about designer at bigger company in a normal country in normal end of the world? 2000 dollars monthly? 5000? More?
So, to sum it up, we are doing crazy amount of labour and we get next to nothing in return from a financial standpoint compared to the labour.
Wanna know why this is an issue?
Well, because money are necessary evil and the world is spinning around them.
Which is why mostly ALL open source work is volunteered and it’s done by folks in their free time. It is bloody hard/next to impossible to make a living out of open source (unless you get hired by a big company to do so), so most open source people have real live jobs and work on their open source projects when they have the time and energy. This results in slower and not so good development and/or designing and I challenge you to find ANY open source person that will say – “hey, I want worse quality software”.
Now, imagine for just a second how much better it would have been if the talented open source people were actually paid proper amount of money for their project so they can continue to work on them full time and as a result make them so much better. Wouldn’t that be awesome? Well, hell, of course it will be ooysum.
Which is why I think the “if it’s open source and I can avoid paying for it I will” way of thinking must die.So, please, all you people that support open source software, if you want open source software to get better throw money at whatever projects you think its worth it and encourage others to do the same, because otherwise we (creators and drivers of the projects) are forced to have real life jobs and work on open source in our free time with the little remaining energy we have, which results in worse products and much much much slower development.
Let me get back to Numix for a while. I believe I speak on behalf on the entire by saying that we would love Numix to be not just our pet project on which we work in our free time, but our job, because it is our baby and we want to make it better and bigger. For example our newest icon theme – Numix-Circle has over 190 applications icons (and if you count the other icons from our basic numix-icon-theme, which are thousands the number gets scary) takes us a lot of time and effort and wanna know how much we have made from it? 12 dollars. Well, if you think that’s OK, then I don’t want to know how much work we should do to make Numix our real life job. We’ll probably need to clone ourselves a few hundred times to get it done. ;>
The current revenue is enough for us to buy three of four fancy devices for almost an year, but that doesn’t pay our bills, buy us food or … you get the point. So, if you want the project to be developed faster and better throw money you can spare at us. Because without money we are forced to keep it as just a pet project and needless to day that has a quite the negative impact on the products quality.

Here in the lovely country of Bulgaria we have a saying – “Majstor Trichko Znae Vsichko”, which literally translates as “Workman Trichko knows everything”, which means nothing, so here have the semantic translation – “Don’t be a jack of all trades, but master of none”.
So, straight to the point now – I’ve been in the applications design business for Average Blokes for a while now and the most important thing I’ve learned is actually a rather simple thing – You can’t please everybody and adding customisation options isn’t always a solution.
You see, if you are designing (or if you can code too – creating) open source application you can’t avoid community impact on your app and the better it is, the more cherished the impact would be. However beauty of the open source community is that it’s really diverse and it has more kinds of folks that the light itself. I won’t bother bulleting all kinds I can think of, because that would require going to the store and buying a second keyboard, simply because the current one will fall part from typing. So, you have all those types of blokes in the community and the most interesting one (if you are making an app) are what I’ve (albeit cheekily) named – jittebugs. It’s not because they cause any kind of panic, it’s because for quite a while I’ve had Wham’s “Wake me up before you go go” stuck in my head on repeat mode and the lyrics are full with the word jitterbug, so you see – I had to name something after that word.
But who are those jitterbugs? Well, to put it simply they are the folks that come up with ideas and suggestions for your application.
You will get all kinds of suggestions – silly ones, wonky ones, ace ones, brilliants ones, etc … and you have to go through each of them and expression your opinion. Usually when an idea is a good one you add it to your To-Do list andthank the jitterbug fellah. The real fun, however starts when an idea is a bad one and you have to explain that to the bloke who proposed it, which very much regrettably is much more common than the other salutes and perks scenario.
Sadly a bunch of the users simply have no idea what is actually the right thing – for example you can get bug reports about “Maximise button is missing” despite that the app has certain amount of options in it’s interface and maximising it would only create whitespace. Or one about “Toolbar is missing modes” – when the user want to be able to tweak the toolbar – text below icons, icons only, text beside icons, etc … which will only break the look and feel of your application. Or … nah, I really don’t think it’s necessary to type more examples.
For our community is incredibly diverse and more colourful than a rainbow there will always be chaps that want customisation options and implementing those options those options will break your app, and you don’t want to make a broken app, do you? So, when you see such request politely explain to the jitterbug why exactly it’s a bad idea. Don’t go prepeared for full fledged verbal war, don’t just shoot “No. That’s not gonna be implemented.” as an answer, type a nice and polite answer with the reasons which render that useless for implementation.
Lastly, never ever assume the users are bloody idiots that have no idea what they want and what’s the right thing to do, however if you see a suggestion that doesn’t make sense, don’t be afraid to say grounded no, because that might somehow make this guy feel bad. There are times when declining is the right thing to do and if you don’t and proceed with implementing a feature that won’t improve your application or will make it worse it means you have to really learn how to say “No” when needed.

You know that famous British punk band called “Sex pistols” ?
Yes – Ace!
No – Well, get to know them! :>
Anyway, for those of you who are not familiar with them, here’s a little something:

As you can see, there is torn up Union Jack and a badge saying “Anarchy in the U.K.” next to the band’s name.

But where am I aiming with that? Well, the answer is actually rather simple – swap “the U.K.” (nothing personal, Britain, honestly) with “Free Software” and you will get cookies. … All right, you are not getting cookies (or cake for that matter!!!!!!), but rather “Anarchy in Free Software”.
See, I’ve been in the whole Free Software world for quite a lot of time and worked (and still working) on enough projects to learn that sadly in not that small amount of them there is some a la anarchy status, because no one actually steps up to say “I will lead this project and I will take the decisions.” especially when it comes to the design.
You know, some people tend to accuse Mark Shuttleworth for being too much of a dictator and Canonical for being too … strict, but the fact is that Ubuntu would have never been as successful as it is today without the strong leadership.
There is a person or a team of such behind every application out there (well … duh) and unless you are part of such team and want the project to fail miserably your team has to make decisions. Sometimes they might be tough, sometimes they maybe easy, sometimes they might require to have a discussion with the userbase of your application, but you have to take them, otherwise you risk accepting ALL the contributions, which results in what we hear in Bulgaria call (caution – might be really hard to pronounce for non Slavic speakers) – “Mnou babi, hilavo djate”, which translates as “A lot of grandmoms, spoiled kiddoh.” … and just be glad I didn’t write that in cyrillic … :>
You know, it’s ace to see community contributions (no matter if they will be design suggestions or branches with code or a feature request) to your application, no I lied, actually it’s brill, but you can’t just accept them all without going through every of them and evaluating and if you have to discussing it, simply because saying no might hurt someone’s feelings.
You have to evaluate every design and code contribution or a feature request, discuss it with the other team members and if you have to with the contributor himself, before making the call.
Being ignorant jerk that says “To hell with everything, I’m gonna go giddy on power” is a big no no, but accepting everything is just as bad and sometimes even worse.
So, to sum it up: