Roles and Responsibilities of Users and Community Members
An essay on the roles and responsibilites of users and community members in an open source project.
This is the first of several longer blog posts that examine the culture and ethos of an Open Source project, it's development, management, community and future.
Participation in the development of an Open Source Project is in almost all cases voluntary and traditional management cannot apply. Open Source developers are not therefore typically driven by financial motivation. Instead, consciously or not, peer esteem and a desire to acquire new skills are the driving factor.
Of course most importantly they all want to have fun. Nobody can be forced to work on tasks that don't interest them and everyone wants to work on sexy new code. As a result bug fixing and documentation often take a back seat and it is down to the Project Leader to charm and cajole the team to complete unpopular but essential tasks. So a project's success or failure is dependent on its leadership who must lead by force of persuasion and charisma alone. The pathways of software development are littered with failed and closed projects due to the inability of the leader to keep the developers and community motivated.
The globally distributed nature of Open Source developers places extra strains on the Project Leader, who must juggle multiple time zones, overcome language barriers and create relationships based on trust with people with whom he has never met or spoken to beyond the ether of cyberspace. These social interactions are crucial to the long-term viability of an Open Source Project and are achieved through multiple media, from mailing lists and discussion boards through to developer conferences and social gatherings.
When it stops becoming fun that is when problems occur.
Every user of a project is a consumer and as in every walk of life the most vocal consumers are often the minority, but place demands on the majority of the developer's time. This vocal minority believe they are entitled to the fruits of the developers labour without contributing anything themselves.
The majority of users care only about the final product and if it will satisfy there needs. It is when the balance between the vocal minority, the silent majority and the developers own aims break down that motivation is lost, the fun disappears and a project stagnates and dies.
Users are the most important part of any Open Source Project.
They show that the developers are serving a need and that they've done something right. More importantly, with the right encouragement, they can become co-developers.
There are two choices presented to a user when they address a problem with the project. If they have the skills to fix it themselves they can either fix it for their own benefit or package their fix in a format that can be shared by others. By contributing back to the community they open their code to others to adapt and improve. There is also the possibility that their code may be included in the core removing the need to apply these changes in future releases. By adopting this strategy the user becomes a contributor that will provide status and recognition among their peers in the project.
When considering the strengths of an Open Source Project release frequency, user input and community interaction are often mentioned. An Open Source project is an organic entity and does not follow a strict regime for product releases and new developments.
Developer communication with the users is essential and can be achieved by either regular progress reports or more valuably user access to work in progress.
This open access increases the potential for feedback and bug fixing from the widest number of users. By providing access to the developmental version of the project, through CVS/SVN or unstable releases, the developers are opening the doors to the user community and inviting feedback. By opening the code to inspection the user community provide the developers with the widest test base possible and the combined experience of the whole community. As a result the user community are rewarded with rapid bug fixes and quicker development.
In a traditional commercial software project this access is closed. The user base does not participate in the development of the product and product development is slowed. The peer review enabled by open development drives a project forward. Often the user community may identify a problem that had not been considered by the developers, at other times the positive feedback provided by the community provides the encouragement for the developer to continue.
The final constituents of the Community are the supporters. These people may not contribute any actual code to the project but they are there to participate in discussions, answer questions in forums, provide tutorials and documentation for new users and generally promote the project to the wider community.
Of course in any community there are difficulties and conflicts that may arise from time to time.
It may sometimes appear that the spirit of openness and friendship that existed had disappeared but this is rarely true. A trip through cyberspace, just like a walk in the real world, will turn up evidence of hostility, selfishness and nonsense. Unfortunately for us all some people seem to enjoy being hostile to others and for these individuals the anonymity of the Internet only encourages this. It is important to remember that such people are a minority whose main aim is to elicit a response. Responding to such comments, no matter how inflammatory, only feeds the flames.
Above everything involvement at any level in an Open Source Project should be fun. Experience shows that fun and enjoyment are the most efficient and productive routes to creative work.
This article was first published at www.mamboserver.com Thursday, 10 June 2004
Blowing my own trumpet
Last night I was excited, honoured and suprised to win the ComputerWeekly.com Open Source Blog of the Year Award. But this isn't really an award for me it's an award for you.
I want to take this opportunity to thank everyone who voted for the blog, everyone who has given me inspiration for an article, Marc Ozin from ReformJudaism
for nominating me in the first place and two very special people.
The original idea for the blog came from Fotis Evangelou
who pestered me to start writing until it was easier for me to start than it was to shut him up and Chris Marinou
who is the brains and talent behind the template design. Without the two of them this blog this blog would never have happened.

Gazzetta KicKs Off
I'm not really here today as I am teaching a Joomla class in Central London but I couldn't resist the temptation to blog in advance about an amazing site that hopefuly has been relaunched by the time you can see this blog post.
(That's assuming of course that I make the correct adjustments for time zones, so if the site doesn't look like the image here then come back in a few hours and oopsie.)
As you've probably gathered I'm a big fan of K2
from joomlaworks.gr
. Some people even call it "Joomla 1.6 without the wait", and if you've tried it for yourself you will know how incredibly powerful it is.
Well today one of the top web sites in Greece, Gazzetta
, has recieved the K2 treatment and has been upgraded from a customised Joomla 1.0 installation to an all-singing, all-dancing, all-blummin everything K2 superstar.
Gazzetta, a sports news portal, is in the top 30 web sites in Greece according to Alexa
and has 3,129,690 unique visitors/month. Oh how I dream for those numbers here on the blog.
When you have a site that is this popular it has to be running on a robust platform.
I know it's all in Greek and it probably doesnt mean too much to you but just spend a few minutes exploring the site to see the myriad of ways that the content is presented. (Over 52,000 items have been imported into Gazzetta along with 150,00+ comments)
Remember that this site is managed by sports journalists and if Greek journos are anything like some of the English ones I know then it would be a strecth to call them computer literate. Asking them to format and resize an image would definitely be beyond them, simply asking them to type on a computer is a task in itself.
This is exactly who K2 was designed for, the site builder has done all the hard work and all the journalist has to do is to type and upload a single image. K2 decides what size it needs to be for the relevant view and makes all the adjustments.
Sorry this has been such a short post but the only way to really see what has been done is to get out your mouse and give it a click.
Joomla Administrator
I've blogged before about the the forgotten interface and joomla usability improvements and recommended two extensions to improve the joomla admin experience, CQI
for the control panel and Advanced Administrator Menu
to reorganise the menus.
Today I'd like to introduce two other "improvements" to the Joomla Administrator interface.
Together they will help you improve accessibility, usability, performance and generally make your life easier.
Accessible administration template
Since the beginning of joomla there has been an aim to improve the accessibility of joomla the German term "Barrierefreies - Free of Barriers" is a much clearer explanation than accessibility)
While we will incorporate as many accessibility "features" in the back-end as possible, the technical changes required to reach WCAG compliance at this point would involve an extensive re-write of the code. It would be counter-productive to do this now, as a such a re-write is planned for the 2.x series.
The back-end or administration area of a Joomla driven site is not a public area. Unless your administrators have accessibility requirements themselves, the reduced compliance on the back-end will not impact your organisation/site accessibility levels.
This Accessibility Statement
was written almost before the first release of Joomla 1.0 and it's not really been looked at since.
Currently one of the biggest stumbling blocks is that the administration menu requires javascript which is often disabled on the computers of users using assistive technologies.
Last week Stian Didriksen
(aka stipsan) released a replacement administrator template that is identical to the existing Khepri template in every way except that it does not use or require javascript to be enabled.
I installed it immediately on the web sites of ReformJudaism.org.uk
as they have made a commitment
"to providing a website that is accessible to the widest possible audience, regardless of technology or ability" and this should apply equally to their staff and site visitors. To provide the best test for this replacement template I did not tell them that I was changing the template and yet no one has contacted me to report any weirdness, difficulties, changes etc so it clearly is a seamless replacement.
Managing Modules
When I build a site I typically do not apply any modules to the site until the end. This is because I am in the habit of designing a site into sections with different modules in each section, so if I have seven modules in each section I have to apply them to each item in that section. That's not an issue but the problem occurs when I add another item to the section as I need to repeat the assign modules process again for each module which is a time consuming pain and a process often forgotten. So to save me time in the long run I leave it to the end of the site building process to add the modules.
- Sometimes I want to apply a module to all pages except one specific page and I face the same problem again of having to assign the module again to all new sections of the site.
- Sometimes I want to have a module only visible on certain dates just like I can with content and this is just not possible without some jiggery pokery
- Sometimes I have a component that really doesn't work nicely with a specific module and I need to remember to disable that module on each page that the component loads
- Sometimes I want to restrict a module to a specific userlevel and not to the usual joomla ACL hierarchy
By default the joomla module manager will only let me assign a module to pages based solely on the menu link but now this has all changed.
Peter van Westen from NoNumber.nl
is a man after my own heart.
Quietly over the last few months he has been releasing several "administrator" enhancements but I filed most of them in the "nice to have" but not essential category but the latest one has moved into my essential install category.
Advanced Module Manager
I have been beta testing a new version of this which is scheduled for release within the next 24 hours. This is a system plugin that dynamically modifies the standard joomla module manager to give you extra options and functionalities to control your modules.
You can limit your modules to/by
- Date
- Menu Item
- Sections / Categories
- Articles
- User Group Levels
- Components
- Languages
- Templates
It also has a nice option in the Joomla menu manager to display the modules active for that menu item and it even allows you to select one of these modules in a modal window and edit its settings.
[update] Another feature that I missed at first is the ability to hide a module if it is empty. I've come across this issue many times on sites that use a split menu where my third level module will always display the base module styling even if for that page there are no thrid level menu items, not any more!
Particular credit should go to Peter for not only thinking about improving Joomla Usability and providing this extension but also for listening to his users. No sooner has a user tweeted "Wouldn't it be good if..." than Peter replies "Yes, and now you can".
The reality is that until you install Advanced Module Manager
you cannot truly appreciate the benefits to you. Long time joomla users are used to its quirks and often forget its oddities but newcomers always ask me why can't I....
Now I just tell them you can.
NOTE I have not mentioned AdminPraise
the excellent replacement admin interface from JoomlaPraise. Whilst I applaud the design and concepts that this introduces I have my reservations about it as the changes to the interface are so radical that all existing joomla documentation is rendered useless and I have found it to be very dependant on screen resolution. I often have clients working on some very odd and low resolutions and when I set up AdminPraise correctly for one resolution it is unusable at another.
