So, after much initial confusion, sabre-rattling, dispair and finally acceptance (sometimes grudging), the world now pretty much groks open source. In addition, we’re all getting better at doing open source – it’s increasingly obvious what the best practices are in terms of growing and developing an open source project, and of how businesses as well as hippie coders can use and produce it effectively. Increasingly, open source is a known beast, and those that don’t embrace it in some fashion are increasingly looking hopelessly luddite. It’s all a far cry from 10 years ago when merely suggesting open source in a serious environment would get you some curious looks – having been the recipient of many of those looks over the years, it’s satisfying to be able to pull out the ‘I told you so’ line now and again
So, open source is mainstream – that’s good. So, apart from gradually filtering into the last few bastions of old-skool thinking (console vendors, I’m looking at you – how about returning my calls sometime, mm?) , where do we go next, besides more of the same? A wild-eyed revolutionary could get bored with all this mainstream acceptance, after all
I think Matt Asay nailed it in his post today. Open source only works at optimum efficiency when you’re accepting of outside contributors, and the worldwide melting pot / distillery is on full, mixing up and crystallising the best the community has to offer. But, due to the nature of this, all the people involved by nature tend to be technicians – programmers, sysadmins, people with a technical bent with a problem to solve, and some time to contribute to help make it happen. As Matt says (and as I’ve said here before), it’s why Linux is hugely successful on the server and with device builders, but less so on the desktop with real people. He says this:
But the real goldmine is broadening the definition of “developer” to include lay users of your software. The day that I, as a nontechnical software user, can meaningfully participate in an open-source project is the day that open source will truly have won
This is dead-on. There’s a perception that only developers and techs like to contribute to projects like open source, but that’s not true at all. There’s a certain cache of people from all walks of life that like to contribute to creative endeavours, who have ideas and the ability to express them, and their abilities are entirely complimentary to a technical team creating a product. Hell, I’d go as far to say as they are absolutely essential to the construction of any product that’s aimed outside of the technical user market. Anyone who has been involved in a large software project, and who isn’t an elitist prig, will know that you need your ‘lead users’, really, really badly. These are the people that aren’t usually technically minded beyond being a user of technology, and being open to change, but who are smart enough, and experienced enough in the domain, to know what needs to be be built, how things can be improved, and how a wider population will perceive it. They will regularly come up with points that you, as a developer, would never have remotely considered, and will make what you produce far better than it ever would have been without their input.
In large commercial projects these people are usually on the payroll as analysts, liasons, testers, technical writers, and other roles. Yet in open source, they are vastly underrepresented, because open source typically starts with a developer scratching their own itch, then attracting like-minded individuals. There’s a chicken-and-egg issue around getting non-technical people involved – they won’t necessarily be interested unless there’s something they want to use, but the product may not exhibit those aspects in the first place without input from like-minded people. As a developer it’s easy to get on board and complete the value-circuit quickly with a couple of patches, but it’s much trickier for other roles outside of a long-term project arrangement.
I’ve been lucky enough to be involved in projects working alongside really excellent lead users in the past, and I make a point of calling out developers who talk about ‘users’ in derogatory terms. Smart, experienced but non-technical users are like gold dust, you want to hang onto them with both hands, even if they do give you feedback you don’t always want to hear. If, somehow, we could encourage greater participation from these kinds of people in open source, I know things would be the better for it. How? I have no idea yet









July 10th, 2009 at 6:55 pm
I almost feel ashamed spoiling such a great post with some pedantry. Almost. ComplEmentary is the word you wanted.
I guess this is less of an issue with Ogre, given that your users must all be technical.
July 10th, 2009 at 7:57 pm
Agree. There’s usually the perception that non-technical people can’t contribute open-source projects, which is pretty wrong. Look at Mac users who work as designers: They feel identified with their style and tend to contribute skins and ideas to improve the interface. Or the usability surveys of many companies… Open source projects also need suggestions and contributions from end users!
@Ciaran: Following with my exposition, I think Ogre is one of the most affected by this lack of non-technical contributors. While technically it’s a great engine, the demos need, in my honest opinion, a huge artistic touch. In other words, the demos don’t sell the product themselves but to tech-appreciators. Some pro modelers, level designers, etc. would be really helpful to Ogre in that regard. And they don’t have to touch a single line of C++
July 11th, 2009 at 9:05 am
If u will consider, then Gears of War and UT3 are demos of Unreal Engine 3 and they highly succeed at that. Great art work can make ok engine look very good to non-technical(who are generally more after the end result).
I agree with steve on non-technical users being indispensible. Just compare the documentation of Lua with Python and there is a huge difference. It is so easy to get started for a newbie with python then Lua, due to lots of contribution to python by non-technical people.
To get non-technical people involved one trick is to get people interested in contributing artwork more and more, as it wil also give them the benefit of showing their talent to wider community helping them in turn, this aspect may be promoted more and featured, with some competetions also, and getiing intersted people in making documentation better. The end result being more people involved.
The simple user generally is after end result which can be viewed quickly. In case of OGRE they are demos. More Demos as a seperate download may be also a better dea with featured screenshots.
Competitions are the best known ancient way to get lots of people interested.
July 11th, 2009 at 10:51 am
You can mostly recognize a projects relation to non-tech users by having a look at the website. The first example that comes to my mind are 2 IoC containers for .NET, NInject (http://ninject.org/) and autofac (http://code.google.com/p/autofac/). Where the NInject page could even capture absolute non-techers for a few moments, the autofac page hosted on google-code seems rather straining even for geeks.
July 11th, 2009 at 3:50 pm
Yes, with OGRE out primary target audience are developers themselves, so we’re lucky there. And that’s why these kinds of projects tend to be the most successful, because appealing to other techs is not a big leap, and can be done entirely with just a technical team. But it does keep things quite narrow. Of course, it also provides a business model for many open source companies, since being appealing to non-technical people is something you can sell (and for which you need to hire non-techs of course).
I totally agree that we can always use better demos, which are programmer art, let’s face it. It’s why I’m very keen to keep the Featureed Projects area stocked with content produced by more balanced teams
In a sense, it does what it’s supposed to do though – appeal to developers. If I was selling an end-user tool I’d go about it much differently.
July 13th, 2009 at 8:15 am
We start facing the same problem with Ogitor. I asked for comments and recommendations and probably help with some icons in the artist thread of Ogre but the replies were very small. At least we might have increased visibility a bit. I have some experience with 3dsMax/Maya/Motionbuilder but still would be happy to reach some experts who review the whole tool. Chicken and egg…
July 13th, 2009 at 7:56 pm
Thanks for a very good blog.
I think you touched something that is a major show stopper for open source in general, and Linux in particular.
After hanging out on Linux forums for several years, i sense a tech mentality that is quite hostile to “consumer bone heads”. People that press for what is (in my mind) very reasonable functionality are discarded with comments like “well, the developers are quite busy to develop the latest XYZ functionality” (i.e. so go somewhere else and complain), or “all you have to do to get that thing running is just to open a terminal and type in the following 200 commands…”. Linux is, from a technical point of view, a great OS, but from the user point of view, it lacks many very basic things to be worthy a position as a mainstream desktop OS.
Don’t get me wrong, I love Linux (and use it exclusively for all our products), but seeing so many small things that most developers avoid to fix in favor of developing “fun” things, makes me very pessimistic that we’ll ever break M$ desktop monopoly.
July 15th, 2009 at 7:27 am
Well written, Steve. Open source projects often begin with a programmer that needs something for himself, he’s “scratching his own itch”. Non-programmers may have software that they need to be developed, but they have no means to do so. They may have an itch, but no way to scratch it.
@Mikael Strom: It’s sad if the Linux community have that attitude towards regular users (or “lusers” as they might put it). In my experience, that attitude is most common among people who are better at tech than the average user – they know they way in the command prompt, the config files and the forums – but they are not actual programmers.
July 17th, 2009 at 8:27 am
Fantastic! And very familiar…