Author Archive for Ross Gardler

The virtuous circle model of support for open source

On the OpenCast Matterhorn developer list the following question was recently posted by Rudiger Rolf:

we have a release of Matterhorn now, and people start to use our system and they need support. I’m sure that many of us are willing to help these adopters, but in which way should they communicate with us?

This prompted a discussion I have seen many times, and so I was prompted to post my response here.

In my opinion there are two main reasons why someone would support a user:

  1. they are selling services
  2. they want to improve the quality of the product

Financial transactions should be divorced from community activity and thus, from a community perspective, we are left with those wanting to improve the project (I’ll return to paid support later though). People providing support in the community have two main objectives:

  1. increase the number of users
  2. understand the problems users are facing in order to improve the product, to attract more users

Increasing the number of users will ultimately increase the number of contributors (bug reports, feature requests, documentation, user support etc.) and eventually developers (code improvements). Thus attracting users is a key part of creating a successful open source project.

However, not all users will become contributors, and not all contributors will become developers. In fact, the numbers of people progressing along this scale of contribution is very small. Nevertheless, just one contributor is a reduction in the centralised cost of development and thus a step towards sustainability for the project.

For some people the idea of free support for a growing number of users appears to lack scalability. They ask “if we are attracting users at a faster rate than contributors/developers how does the project continue to provide support? Surely there is  a danger of too many resources being devoted to support and not enough on development.”

These are common concerns in a growing project. However, these assumptions ignore the fact that some people are willing to pay for support. The ideal solution is to provide a user support mailing list along with supporting documentation. There is a need to encourage everyone to assist with these community support channels. This channel should become the place where the not only users get support, but also where those providing paid for support seek support themselves. However, support provided from the project community is provided on a voluntary basis and therefore no guarantees of service are provided. The message is clear, if you want guarantees of service then you need to pay for it.

Of course “paying for it” may not mean in cash. For example, if an organisation is known to provided paid for support but they also provide resources for project management, documentation, code or some other contribution they are earning “credits” to get support themselves.

Over time, the number of “first level user support requests”grows. However, the number of people able to answer these questions is also growing, lets not forget that some of those users are still around and are now indebted to the support community. Furthermore, since a healthy project encourages people to contribute early by documenting their experience in FAQs and getting started documentation there is an increasing amount of support documentation for newcomers.

This self-help culture enables core community members to focus on bug reports and feature requests rather than first level support requests.For those users who need a fast turnaround on support requests, they will have to pay. They may contract a third party or they may use local resources to set up a local support infrastructure.

If these paid support providers are smart they will reduce their own costs by interfacing with the wider support community via the project support lists. They will both consume and produce commons support materials in the project. They will also recognise that visibility in the community support channels is a form of marketing for their paid-for services. And this is where the virtuous circle finally closes.

Software Developers for Haiti

Some time ago I posted “Does it take a disaster to understand the power of open development?” Unfortunately it is now time to revisit that post with a call for software developers to help Haiti.

The Sahana Software Foundation are looking for additional developers to help with Sahana, a disaster management tool. They need to continue to build an information portal that is seeing increased interest and usage to assist organisations responding to events in Haiti. Information on the work underway can be found on the Sahana Haiti response Overview page.

The skills they are primarily looking for are (you don’t need them all, any will do):

  •  Python – the main development for SahanaPy is Python (we’re not using PHP for this instance)
  •  web2py – Sahana uses the web2py enterprise framework for SahanaPy (I’m told it is fairly easy to learn if you’re used to Django)
  •  OpenLayers
  •  jQuery

To find out more and offer your help please jump onto #sahana on freenode. Please give as much or as little as you want.Some of the core devs have been working really long hours the past 5-6 days, and any additional resource would assist us greatly, particularly as the effort is really starting to get some interest, traction and coverage, which leads to more and more feature requests.

Thanks for reading this far – please consider giving a few hours of your time to help out, if you can.

Treading the thin line between Free, Proprietary and Open Source Software

For quite some time OSS Watch have been trying to put together an article examining Microsofts approach to open source. Today we welcomed the new year with the publication of “Microsoft: an end to open hostilities?

This has been a very hard piece to write. We felt we needed to talk to as many people as possible, we needed to sift through  significant amounts of Fear Uncertainty and Doubt along with unnecessarily emotional responses.

Things weren’t made any easier by the fact that every time we felt ready to publish something else heppened that seemed to change the story somewhat and we had to return to our sources for more observations.

During our research for this article OSS Watch have been accused, by an OSI board observer and ASF Member, of being “surrogates” for Microsoft, whilst Tony Hey (Corporate Vice President of External Research, Microsoft) privately expressed concern that OSS Watch was “encouraging academics to use the GPL.” Simultaneously, various free software representatives have pointed out how “naive” they believed us to be by even considering the idea that Microsoft may have genuine intentions with respect to engaging with the free and open source community.

As a non-advocacy advisory service we tend to think that if all sides in a debate believe we are in the wrong, yet all are still talking to us, we are probably doing something right. Certainly none of them can claim us as their own.

Given all this input what did we conclude?

Well, as you would expect, the conclusion is far from clear. On the one side we have the Stallman’s (Free Software Foundation) view that “these free programs are meant specifically to prevent the world from freeing itself from non-free software”. On the other side we have Erenkrantz’s (The Apache Software Foundation) view that “every positive and constructive engagement Microsoft has with the open source community (and vice versa) … will continue to chip away at the old perceptions”.

Furthermore, whilst Microsoft may be making concessions to open source and are happy to play with open source when it suits their needs they are also willing to use other methods where it best suits their business. For example, on patents Darren Strange (Head of Open Source Engagement, Microsoft UK) says “Patents drive innovation and they drive openness actually.”

Our own conclusion is that “Microsoft is not simply an unchanging monolith.” The article demonstrates that things within Microsoft are changing. Naturally they are changing in ways that benefit Microsoft as a business, but the good news is that some of these changes also benefit the world of free and open source software.

Over the years I have often quoted Ghandi when looking at Microsoft and their relationship with Free and Open Source Software: “First they ignore you, then they ridicule you, then they fight you, then you win”. FOSS has not “won” yet, but the frontline is moving and it is open source software that is winning.

Apache Wookie (Incubating) and the W3C Standards

OSS Watch are working with Scott Wilson and his colleagues at the University of Bolton on the Apache Wookie (Incubating) project. Since I’ve been busy on other Wookie things today I’ve not had time to write a blog post, so I’m just going to steal one of Scotts (well, I say “steal” but it’s under creative commons on Scott’s blog so it’s not really stealing).

Apache Wookie passes W3C Widgets conformance

After a marathon code sprint [well done Scott - RG] Apache Wookie (Incubating) now passes all 166 W3C Widgets conformance tests, the third application to reach a 100% pass rate.

Two other applications – the Aplix Web Runtime engine and the BONDI reference implementation for Windows Mobile – have also been able to successfully pass all the conformance tests. Several others are also approaching a full pass rate, as can be seen on the W3C implementation report.

Not only is this good news for Wookie its also good news for W3C, as more successful implementation helps the progress of the specification. Also, open source implementations can also help other developers build interoperable applications by reusing code. I hope in future we’ll be able to make the widget parser in Wookie distributable as a standalone library as well as part of the Wookie widget engine, to help with this process.

Useful links:

Developing Communities

When I joined OSS Watch a couple of years ago my role was to enhance the community development work we undertake. I, and the rest of the OSS Watch team, have worked hard to understand how to build viable open source communities in the academic sector. Personally I can attest to having learned a great deal, yet it still surprised me when my colleague, Gabriel, reported on our recent trip to ApacheCon by saying that he observed me bringing community development lessons form my OSS Watch activity to the experts in the ASF.

I guess this is one reason why the ASF board recently approved a resolution to create a new Community Development project and appointing me as Vice President of Community Development. I look forward to this new activity in the ASF allowing me to further cross-fertilise between the ASF and the UK HE/FE sector, whilst the launching of a new EC project focussing on a wider engagement of computer scientists in open source projects will allow us to reach out to other software foundations.

Strong leadership and openness = software sustainability

Time and time again we read and hear about how successful open source is maintained by an army of volunteers, yet those who are at the core of successful open source know this is not what makes the project survive in the long term.

For example, Greg Kroah-Hartman reported, in a Google Talk, that of 2399 unique contributors active on the Linux Kernel project during a year and a half, roughly 75% of the work was done by people who are paid to do so. All of those people are considered volunteers within the project, but they are not there for the good of their health (although open source work is often fun). Furthermore, half of those contributors only contributed a single patch, whilst thirty people (1.25%) do nearly a third of the work.

My own anecdotal evidence, collected from over 8 years of working in projects at The Apache Software Foundation, leads me to assert that the popular “army of volunteers” myth is a result of the chatter of the masses (the other 98.75%). In surveys, interviews and snapshot observations the one patch contributors far outnumber the visionary leaders in a project and as a result it is their voices and opinions that are heard. At the same time, the leaders know that they need to play down their own importance in order to credit the community, since the contributions of the community are vital to the survival of the project, I’ll look at why later in this post.

Dan Woods, in “The Myth of Crowdsourcing” appears to agree that leadership and vision is what is needed in a successful project:

There is no crowd in crowdsourcing. There are only virtuosos, usually uniquely talented, highly trained people who have worked for decades in a field…What really happens in crowdsourcing as it is practiced in wide variety of contexts, from Wikipedia to open source to scientific research, is that a problem is broadcast to a large number of people with varying forms of expertise…There is no crowd of open-source developers ready to attack every problem. In fact, most open-source projects are the product of one obsessed individual who wrote the software to meet his own needs. Often this individual was joined by other programmers who shared the founder’s vision and, under his direction, created great software.

However, I believe Dan, at least partially, misunderstands the importance of the crowd in crowdsourcing.

The real importance of community

The community is vital to the sustainability of an open project, and, increasingly as I’ll discuss later, closed projects too.Note that Dan talks about the “broadcasting of ideas”, this is where the “army of volunteers” comes into its own. They validate what is happening in the project, they fix bugs, make suggestions for improvements and provide sounding boards for new ideas. Without these contributions a project is completely reliant on a handful of individuals in leadership roles. This dependency presents two main problems.

The first is that the project relies on the limited knowledge of the leadership. Even the best of the best don’t know everything, or as Mark Twain puts it “to succeed in life, you need two things: ignorance and confidence.” An effective and successful leader has the ability to step back and listen to those with different experiences, make the right (or best) call and ensure it is actioned. That is, the best leaders encourage, support and reward an army of contributors so that their project continues to excel.

The second problem of this dependence on a small group of leaders is that things change. Over time, one or more of those leaders will move on. Where will their replacement come from? If the leaders have already cultivated an “army of volunteers” in an open and transparent way there should be no shortage of people willing and able to step up and take on the role.

What about closed development?

To ignore your community is a mistake in almost every case. Community and the power of crowdsourcing is not, as Dan explains, the sole domain of open source software. Open innovation is becoming increasing popular in most industrial sectors, including closed source software. Microsoft, for example, has its Most Valuable Professional programme which is specifically designed to:

recognize the best and brightest from technology communities around the world…These exceptional community leaders come from a wide range of backgrounds. They are teachers, artists, doctors, engineers, as well as technologists, who actively share their high-quality, real-world technical expertise with the community and with Microsoft.

Is openness for me?

Most people starting new projects assume that either their project is too specialised to be of interest to third parties or that opening up to the community will result in them being swamped by well meaning contributors. As a result, they don’t engage, support and reward their community.

Popular communities do not grow from one member to hundreds overnight, there is little chance of you being swamped. They grow organically and, assuming the community is empowered to self-govern under strong leadership, they grow in self-sufficient way. As for niche projects, an “army” of just one person can still be extremely valuable, who knows what just one person can do – after all, you are just one person, right?

If you care about software sustainability you should never ignore your community.

Software innovation in academic software outputs

At OSS Watch we spend a great deal of time talking about project governance. We argue that a lack of clear governance results in potential contributors being discouraged, either because there are no visible rewards for the extra effort involved or because they are worried that contributions will not be well managed. New projects often delay specifying a governance model and opening up because they don’t want to lose control of the project. However, this misses the whole point, a governance model does the exact opposite, it ensures you maintain control for as long as you want it. Furthermore, opening up is what drives innovation. This is likely to be the topic of my lightning talk at the JISC Rapid Innovation in Development event.

The goal of the #JISCRI projects is not  to have perfect software solutions, but to develop expertise in a range of potential solutions. By sharing this expertise across the whole community we not only increase the skills base of all, but we also bring ideas together – it is this converging of ideas that results in innovation, or, as Marten Mikos puts it:

innovation happens … when you encounter other people and also when you step over some boundary and you combine ideas that haven’t been combined before.

By adopting an open source licencing model and an open development governance model we allow anyone with an idea to bring that idea to the table, the governance model defines the mechanism for evaluation and subsequent acceptance or rejection of the idea.

However, at this point we hit another problem. People are often adverse to contributing their ideas because they also desire to control the latest and greatest innovations. A good governance model will reward the best ideas with a stake in the overall project. That is, it recognises that if we want to benefit from other peoples ideas we need to ensure they can benefit from our own. At this point please allow me to misquote Kahlil Gibran:

 If you love somebody a project, let them go, for if they return, they were always yours. And if they don’t, they never were.

If you create and manage a truly innovative project then the rewards will always come back to you. By allowing people to experiment with your project you encourage those people to dream up new innovations and to invest new resources into implementing those innovations. These resources and the expertise they bring is something that your project would never have if you failed to let it go in the first place. The trick is to make it more beneficial for the third party to work with you rather than to work independently, for this you need a good governance model.

This kind of collaboration happens a great deal in the commercial sector, but it is much rarer in the academic sector (although it does happen). The reason for this lack of openness is a cultural mismatch with two distinct causes. The first is that scientists are encouraged by the peer review system of publication to keep things close to their chests until the point of publication. The second is that universities are geared up to exploit innovations through patent licencing, which is not compatible with the idea of openness during the act of software innovation (this post is getting to be quite long, so I’ll save the exploitation issue for another post).

The fact that the peer review system prevents the kind of peer recognition demanded in open source projects is ironic since that system was devised to encourage openness. Micheal Nielson explains it well:

The value of cultural openness was understood centuries ago by many of the founders of modern science; indeed, the journal system is perhaps the most open system for the transmission of knowledge that could be built with 17th-century media. The adoption of the journal system was achieved by subsidizing scientists who published their discoveries in journals. This same subsidy now inhibits the adoption of more effective technologies, because it continues to incentivize scientists to share their work in conventional journals and not in more modern media.

My hope is that initiatives such as the JISC Rapid Innovation projects will help increase openness in the academic software development sector, but my concern is that very few of these projects understand the importance of being open from day one. I’ll be challenging people to prove me wrong in my lightning talk at the #JISCRI event and OSS Watch will be exploring the need for openness in our Engaging Developers workshop in October.

JISC Funding Call: Access & Identity Management

The Joint information Systems Comittee (JISC) in the UK have issued a new call for funding proposals titled “Access and Identity Management“. As with most JISC calls, proposals must come from UK educational institutions although other organisations can partner with appropriate institutions. Finding partners is one of the services OSS Watch offers as part of our bid writing consultation service (free to UK academic institutions).

As with all JISC calls, bidders are expected to consult with OSS Watch in order to understand how the JISC open source policy and the open development approach to project sustainability apply to their project (see paragraph 57 of the call details).

We look forward to helping you write your bids.

Wookie Accepted into Apache Incubator

Wookie is a Java server application that allows you to upload and deploy widgets for your applications. Wookie is based on the W3C Widgets specification, but widgets can also be included that use extended APIs such as Google Wave Gadgets and Open Social. It was originally created at the University of Bolton as part of the European Commission funded Ten Competence project.

In January Scott Wilson attended an OSS Watch workshop on software sustainability at which I and my colleague Rowan Wilson presented a number of models for managing open source software in a sustainable way. After my presentation Scott approached me to ask what was involved with entering the Apache Incubator.

I’m pleased to announce that the Wookie proposal has now been accepted into the incubator. There is still some work to do before the code actually appears there, but it won’t be long

This is great news for all involved. OSS Watch hope that Wookie will go on to provide our first significant use case demonstrating that software developed in the UK academic sector can, and should, become useful beyond our sector. I congratulate the Wookie team on clearly separating the domain specific features of their work from the generic code that will be useful beyond their core team. It is this, and the teams awareness that restricting their code to a niche market would restrict the pool of contributors, that has enabled OSS Watch to assist Wookie as it worked towards entry into the Apache Incubator.

I truly believe that the University of Bolton, and any other project or institution that adopts the Wookie code, will benefit significantly from this move. Already we are seeing interest from many third parties, indeed, it is a long time since a proposal passed with such a large number of positive votes.

[DISCLAIMER: I am a Member of The Apache Software Foundation, but this has no bearing on the choice of the ASF as a home for Wookie. The justification for the ASF is that it has a track record of producing reference implementations for open standards]

Innovation through Open Development

In my last post I argue that open development can both reduce costs and improve quality. Today, Steve Lee pointed me to an article in Business Week that illustrates the point very well.

The article identifies Ken Saunders, a 41-year-old, legally blind volunteer for Mozilla as a prime example of the kind of third party contributions that are key to the success of open development projects:

Saunders is among hundreds of people who donate time and skills to Mozilla, the Mountain View (Calif.) company that releases Firefox and other open-source software. Even as Mozilla’s internal staff has grown to 250, from 15 in 2005, an army of volunteers still contributes about 40% of the company’s work, which ranges from tweaks to the programming code to designing the Firefox logo.

Innovation in open development can happen within the core project team, but it can also happen at the edges, where people with different objectives and interests see value in the projects outputs. According to the Business Week article Mike Beltzner, who runs the Firefox project, says that open development projects need to “allow people to innovate and to explore and [give them] the freedom to do what they want along those edges—that’s where innovation tends to happen in startling and unexpected ways.”

The article also discusses some less successful attempts at open development, highlighting some of the good and bad approaches to rewarding and recognising volunteer contributions. A recent case study on TexGen, published by OSS Watch, illustrates how the open development model can be used to apply to even the smallest niche area project.