The BSDs and other open source projects have made great strides in the past decade. But it doesn't take a marketing analyst to see that we've still a long way to go. We've all seen friends and family fight their way through viruses and spyware because their operating system of choice is "easier to use". We've all had customers or bosses who chose solutions involving hefty license fees over free software because of the "support". And we've all at one point or another had to maintain a non-BSD install because there wasn't an open source application available that provided a required functionality.
The question is, "what can be done about this state of affairs?" As a developer, your role in open source is fairly straightforward: write good code, add new features, fix bugs. However, the non-developer's role is less clearly defined. This often leaves the end-user feeling isolated and intimidated; not only are they unsure how to contribute, they may not even see their contribution as worthwhile.
This talk will address the importance of non-developers to the success of open source software as well as what you, as a developer, can do to assist in this process. We'll do this by taking a look at both the developer's and non-developer's points of view which will bring to light various misconceptions. Once these are dealt with, concrete roles can be defined.
Rest of talk will:
-describe new user's misperceptions regarding developers: unapproachable, not interested in their experience
and themselves: their perspective isn't valuable (underestimate the number of new users)
-describe older user's apathy: finding bugs and not reporting them, not requesting features, not submitting
patches, not submitting documentation so next user doesn't have to re-invent the wheel
-describe developer's perspective: many have added features as a result of requests, most would love to
receive constructive feedback; many have severe time restraints and are understandably peeved when end-users
ignore the FAQ, send personal email when asked to send questions to a list, etc.
-will software get better if noone ever contributes feedback, files bugs, submits feature requests, donates
money, creates patches, writes documentation, provides examples, support, advocacy? NO!
-challenges non-developer to define their own niche that takes into account their own abilities and "pet
-discusses several concrete actions a user can take
-shows a user which actions are not helpful to a developer
-reminds developer which actions are not helpful to an end-user