The Dr. Jekyll and Mr. Hyde personality of Open Source Software
Feb 6th, 2007 by Karen
Dorothea Salo and Karen Schneider have interesting posts that touch on how open source software can be developer centric and as a result difficult for users to use and libraries to implement. I’ve had my fair share of open source software pain and really I often feel like it is being caught between Dr. Jekyll and Mr. Hyde.
There are many good things about open source software. It is often built on standards and is thus can be more standards compliant than commercial products. Open source software can be taken apart, extended and made better through group effort. It is great if you want to pilot a project without spending a lot of money up front. Personally, I love the open source software model and try to use as much open source software as possible.
However, there is a dark side of open source software that Dorothea and Karen point out; a tendency for the product to be geared more for the developer than the end user or the person who is a tinker who wants to customize things. The documentation for open source software can be abysmal and worse when there is documentation it can be very techie oriented, and not “real world”, how to help. The depressing feeling of trying to compile something from source, that refuses to compile and you can’t figure out what the problem is. Then there is the whole issue of trying to get help from forums or IRC without getting flamed. My trick to getting around this is to ask someone I know to help me because that is less intimidating. But often the knowledge base of the people I know isn’t enough to get me through the problem. So I end up in the dreaded forums. Frankly it is an intimidating experience and it isn’t surprising that more people don’t want to use open source software.
To successfully implement and maintain open source software you need a community, not just of developers but also administrators, power user, and users. Without a community good documentation doesn’t get built, software doesn’t get documented, new code doesn’t get written. But as both Dorothea and Karen imply there seems (at least I perceive), an unwillingness to allow certain kinds of people to be part of the community. Whether this is conscious or subconscious it is a big problem in my mind for many different reasons.
- Tendency for the community to stagnate and lose touch with the user
- Failure of the software to be adopted
- Lack of diversity in perspective
- Ultimately, an environment not suitable to innovation.
Although I haven’t had a chance to work with DSpace, I second Dorothea’s call for all open source software communities to change their demeanor to not make assumptions about a users technical ability and be more inclusive of users at different levels. I think that this will make open source software projects stronger and increase adoption rates.


Writing software and doing a good job of documenting (for a user community… which is different than documenting for the developer community), providing support (for a user community) and just plain building that user community (which is time consuming in and of itself) seem like very different things to me.
Expecting something different is a bit like thinking just anyone (your average cataloger, for instance) will be a good reference librarian — which I realize is something many people in the library community believe. I think there are specific skill sets and different people succeed in their own areas (not that you can’t find people who do well in both categories!), but I’m not sure why you’d expect to in the majority of cases.
I think open source communities (not just the library ones) have always realized this. In much of the open source literature you’ll find mention of the need for commercial support of the software (RedHat provides this for Linux; LibLime for several library software packages; Equinox for Evergreen, etc.). It is why people say open source isn’t anti-commercial.
There has always been, I think, a recognition that for true end user support there needs to be a service that is available and that exists apart from the development community. The “problem” with this, of course, is that it is a bit of a catch 22 — you need a community to make this commercially viable but often times you don’t get a strong community until you have something like this in place.
Anyway (enough rambling), I agree that many developers do an abysmal job of supporting their software. Expecting them to be software support though seems a bit like expecting software support people to be developers. While it would be nice if we all could be expertly skilled at any thing we try to do, there are, I think, realistic restrictions on this.
I don’t really want developers to do software support on their open source software. What I do want is for them to value the contribution that people who do software support for open source software bring to the equation. I think commercial models for support of open source software are great, but ultimately support has to feed back into development. If EVERY user makes the same mistake or has the same question then probably something about the software needs changing. But I digress. My main point was that a vibrant community for a particular piece of open source software needs to includes all different types of people: developers, administrators, user support folks, end users, etc. I’ve seen some of this when using the support forums for Wordpress. With other open source software, this is not the case.
I agree that a vibrant community needs all different types of people. I also didn’t mean to suggest that it needs to be a commercial entity that negotiates between the two. It can be a charismatic person or even some sort of non-profit that agrees to shepherd a project. I believe, for instance, Fedora is moving towards this sort of thing.
My point was just that asking developers to be the public face of the project isn’t always (but sometimes it is… again, depending on the developer) the best way to build vibrant communities. That is really the job, imho, of a coordinator, manager, or shepherding body that really knows how to talk to both sides (what we are talking about, I think, is really a communication problem — the sides don’t know how to talk to each other). The “problem” with open source, I’ll maintain, is there are too few projects that have this intermediary layer.
Though I love WP, in my experience, I wouldn’t cite it as an example of a successful open source community (it is a successful open source product though). There have been so many times I’ve considered looking at other options because I felt the developers weren’t responsive to the needs of the community (and even blatantly ignored them). The thing with many open source projects, even large ones like WP, is that there isn’t really that intermediary layer (like there should be).
Anyway, that’s my two cents…
Just one more thing then I’ll stop… I promise! It’s also worth noting that not all open source projects want vibrant communities. If the application was just developed to scratch the developer’s own itch, it may not be something that s/he wants to start providing support for, develop and infrastructure around, etc.
While that is frustrating to us as users, I don’t think we, the users, should necessarily drive every open source project. The beauty of open source is that, if there are other people out there who think a project has more potential than the developer thinks it does, they are welcome to build the project into what they want it to be (providing they have all the skills to do that… communication, coding, managing, supporting, etc.)
Okay, done for real now.
I guess my WP questions haven’t risen to the level where I needed a developer to help. I agree sometimes I wonder what they are thinking because they don’t add functionality I want. Thank god for plugins! Most of my questions are pretty low to intermediate level and I think get fielded by non-developers who are users or powerusers, which is what I like about the forums there. I agree the intermediary layer is serious lacking on open source projects. It worries me quite a bit because I think that ultimately it will effect the success of the project.
Will have to talk to you more about Fedora in the future as we are looking at it as a potential option here.
This is a really crucial thread. I’d add that what Dorothea and I may be getting at is that the intermediary layer isn’t valued and is quickly rebuffed. You have to be pretty determined to hang in there.
[...] Library Web Chic » Blog Archive » The Dr. Jekyll and Mr. Hyde personality of Open Source Software [...]
[...] While it seems clear that developers release code under an open source license so that it can be used in some way, it doesn’t necessarily follow that they are thinking of end users with limited technical skills when they do so. They might simply be hoping to encourage other developers to study and then improve the software. This could be one of the reasons for the Jekyll and Hyde personality of open source projects Karen Coombs recently discussed, with some developers releasing their code primarily for other developers, and not for end users. [...]