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 😀