Showing posts with label FOSS. Show all posts
Showing posts with label FOSS. Show all posts

Tuesday, 29 June 2010

Software: no compensation necessary

I've just been reading "The World Is Flat" by Thomas L Friedman. It's an interesting book with lots good to say[1] about how the world is rapidly flattening - ie everywhere is becoming reachable from anywhere.

Along the way (and only incidentally to the main point) the author brings up the concept of Open Source Software.

He discusses the concept in a fairly positive light. He seems quite fascinated by the phenomenon - though doesn't seem to really get why people would do it. Though he makes a valiant effort to see things from the POV of the average OSS contributor, it's still fairly clear that he thinks it's a bit of a quaint, idealistic example of altruism (recognising the "pay it forward" aspect), rather than an effective and useful business technique. This is exemplified by the fact that he interviews a Microsoft Manager to ask whether or not it is sustainable as a business concept. Not bothering with an Open Source advocate, just an employee of one of the biggest proprietary systems out there.

One point stands out from what this employee says about OSS. He states that money is the main motivator for building software. From this the author concludes that any "really good software" will more likely be built by big software houses (eg Microsoft) than by OSS initiatives... after all, they have a lot of money, that can buy a lot of development time. He therefore concludes that The big software houses will always build the best software - simply because they can sustainably pay the most developers.

It's an interesting theory, and the most logical for those who don't really understand the motivation of the average OSS contributor. The reasoning behind this conclusion is of itself quite interesting. They claim that software is developed because businesses need stuff to be done - and thus they pay developers to do it. Nothing wrong with that... but they seem to mistake the effect for the cause and assume that the motivator for software to be built - is the money.

This is not the case.

Software is susceptible to the old phrase of "Necessity is the mother of invention" - ie the cause of software to be built is the business's need for it. The money is a secondary affector - ie the need causes the business to find money to make it happen. The originating need will be present regardless of whether the business has money to pay for developers... after all, even if the business has no money, the need will still be there for the software.

If the business happens to be made up of developers, then they are quite capable of creating the software, regardless of payment... and that is how you get startups: built and run by developers who see the need but don't necessarily have money to pay other developers - they just need the software to get their own business running, and are ready and willing to work in their own spare time to make it happen (nothing wrong with Sweat Equity).

The Open Source world calls this motivation "scratching your own itch" and it is recognised as the primary motivator for Open Source contribution[2]. Even for the really big projects.

Linux, for example, was Linus Torvalds' project to build himself an OS that didn't suck. Since he released it, thousands of other individuals have contributed to it for the same reason. It didn't do what they needed, so rather than bitching about it, they put their money where their mouth was and wrote the fix themselves... contributing it back to the OSS community... for no compensation except the "pay it forward" principle.

Which brings me to the other book I've just finished reading: "Drive" by Daniel Pink. One of the principle findings of this book is that fiscal compensation actually gets in the way of intrinsic motivation[3]. You can incentivise a developer to build something, but then they dissociate their ownership of the end product to the person doing the incentivising... care factor drops radically and you end up with... well... Microsoft products. Corporate and cold, buggy and with no real way to guarantee that the problems will ever get fixed.

This difference in motivation easily accounts for the fact that MS products are made primarily for creating more money for Microsoft (for which purpose they perform admirably), but only a passing interest in actually being fit for use: ie only so much as they can get away with before too many people stop purchasing them.

Now, there's nothing inherently wrong with that. More power to them for staying alive so long, and rather profitably - by keeping so many people satisfied for so long with what they're prepared to shell out... but there's a reason that I haven't used Microsoft products for over a decade now...

By comparison, the OSS world is driven purely by user requirements. If software is not fit for purpose, it simply won't be used... but more importantly, because there's nobody paying for it - if it doesn't do what it's supposed to, it will never be born

Conversely, if it is built, you can guarantee that it meets the requirements of at least *one* real customer (unlike many products built purely with potential revenue as a motivator).

OSS lives and dies on it's own merits... no compensation necessary.

Notes:

[1] Though I'd take a lot of it with a pinch of salt as well. This guy is clearly of the "yay capitalism, it solves all the world's ills" school of thought... though is slightly tempered by realising that humans are human, and some of them actually need supporting by those who are better-off... it's an interesting act of comparison to read this side-by-side with "The Shock Doctrine" by Naomi Klein - just as equally biased in the opposite direction, but also an fascinating read. I think if I ever put these two books together on a shelf, they'd annihilate one another with a very loud bang.

[2] If you're interested in this topic, "The Cathedral & the Bazaar" by Eric S. Raymond is an excellent book that explains the difference between what can be built from the ground up by need-motivated developers rather than the top-down software built by big software houses spending money to pay for what they want.

[3] which can be paraphrased as that innate curiosity and enjoyment of a challenge that occurs when you take on a new puzzle

Friday, 26 January 2007

Attracting women

After the LCA dinner, a friend-of-a-friend asked me that perennial question: how do you attract women to your FOSS group? Here are my ideas.

Getting women into your group

The best way to attract women to your group - is to have women in it already.

Particularly women that are great role-models: active women that contribute and organise, like Pia Waugh (LCA2007 "Seven team"). Unfortunately, for many groups this just sets up a chicken-and-egg situation. If you don't have women already, how do you get your first ones to come along? Luckily you can leverage women in other groups. Some ideas:

Start by asking your own members. Do they have wives/girlfriends or colleagues in IT? What about other local IT communities eg local businesses? This is just like any other FOSS evangelising: these women are already in IT, but maybe have never heard of FOSS (or never realised that it could actually benefit them to come to a group like yours).

Then ask groups like yours in that are in other regions. Do they know any women that live in your area that might be interested? Would they be interested in travelling to your area and bringing their friends along, to get the ball rolling?

Look into the local, regional and national "Women in IT" groups and advertise yourself there. Promote what it is that you do, and why it would be interesting - just as you would to any other newbie.

LCA's great success this year was the large percentage of women that attended (10%). This was fuelled by the work put in by Mary Gardiner and other members of the LinuxChix group. These groups exist to help women do interesting stuff in IT - your group counts!

Even if these groups don't serve to find you any members, consider asking the women to come and speak at your group. Especially on gender issues. The linuxchix miniconf was a great success with women speaking on issues such as negotiation and the gender pay-gap issue. Women are interested in these issues... and so are men.

Retaining your women

One of the broader issues for women in the corporate world, is that women and men have their own cultures. Be mindful that women's culture is likely to be distinctly different (though no less important) than the culture you already have in your group.

Obviously I am speaking broadly and individuals differ widely, but there are some common issues with women, and understanding these issues will help you integrate.

Firstly, don't assume that your culture is better. If you have a culture in which people brag about their exploits and the loudest shouter wins the floor... don't be surprised if women stay away in droves. Women come from a culture in which it is considered polite (and expected) to await an opening before speaking. They will not jump in and say their piece just because everybody else does. If an opening is not made for them, then they may never speak at all - to the detriment of everybody.

Female culture thrives off positive feedback and encouragement. If you notice that a woman in your group has done something you think is cool - encourage her to tell people about it. Do not be surprised to find that she thinks nobody wants to know. This is a place where it's ok to tell her that she is wrong. :)

Most women are self-deprecating (by inculturation) and will often down-play their experience. Poor self-esteem is common, even in those that have many successes behind them. You may need to treat your women like "the quiet kid" who needs some encouragement to speak up.

With the particularly shy and retiring - take them under your wing a bit. If she is too afraid to do it herself, promote her successes for her and show her how much her contribution is valued. Prompt her to talk about what she did and what she learned. When she sees that you're not all big, scary people that are going to laugh at her... she'll be more likely to stay.

Don't be big, scary people that laugh. ;)

Newbie women are afraid of the same things that any newbie is afraid of. They're worried that they will look stupid amongst all these shining gods of IT. They think their dumb questions and newbie mistakes will be laughed-at. It's up to you to make sure they know that it's ok to be a beginner. This also goes for experienced women with low self-esteem - who often rate themselves as a beginner even when they are an expert.

Share your own stupid questions and mistakes. Show them that you gods are really human too and were once a newbie with dumb questions (and, in many cases, still are). Let them know that everybody asks stupid questions and nobody thinks the less of them. Make them understand that what they are going through is not only normal, but expected. This can be as simple as saying "I'm glad you asked that", when they do pluck up the courage to ask.

Finally, support (or start) a women's chapter for your group. The intent is not to have a separatist group, favourable only to a minority. It should instead be a safe haven for newbie women to socialise and network with their peers as they adjust to a new and alien culture.

Getting women into your group (and keeping them there), is a Hard Problem. But there are lots of things you can try. The effort will mostly be in the initial stages - once the ball is rolling it'll take on its own momentum, and the results (I think) are worth it.

Want to know more?

Read Val Henson's article on encouraging women in linux. It's very thorough.