Forum OpenACS Q&A: Re: Reuse in the large is an unsolved problem !?

Posted by Caroline Meeks on
Lar’s post is about his programming choices, but I don't think they can be interpreted in isolation from his business. While he was using OpenACS he was doing more then programming, he was building an Open Source business. Lars built a good sized OpenACS consulting business. I think (could be wrong) that Lars’ is now a solo consultant doing RoR.

Building an OpenACS business, like building any business is about delivering value. The value OpenACS delivers through reuse is larger the closer the next use is to the previous use. The equation is highly dependent on finding the right customers. Solution Grove is actively working to concentrate our market nitches to find problems that are similar enough that we can effectively reuse code. Education (.LRN) is where Solution Grove is having that success. It looks to me like other OpenACS vendors are having success by concentrating in Project Management and in Knowledge Management. I know that there are others that are focused even more narrowly (check out Green Media Toolshed)

I agree with Lars, General Reuse is too hard. To be successful with OpenACS, especially successful enough to build a company that will with stand the inevitable peaks and valleys of consulting work, you need to be a bit picky about what problems you try to solve and pick customers who have similar problems that can be solved with reusable code. The lesson I took from Collaboraid's experience is that Heidelberg University, Greenpeace and a dating site are just too different to cost-effectively share code. I’ve had a few lessons I’ve had to learn first hand about this too.

If you want to do something new and different and interesting for a different type of customer every few months then RoR might be a good choice. OpenACS is a good choice for your company if you want to support client base of similar sites, that require some amount of innovation and custom functionality but also need a large set of standard functionality that already exists in OpenACS. We have learned not to pursue just any client/problem. We have to pick ones where our code is reusable and does deliver value.

For example, the Museum of Science wanted a class registration system but they had a few requirements that no propriety system supported. For example, tracking the relationship of parent, or grandparent etc, signing up a kid for a class; managing a scholarship donation system; integrating with their member database... But mostly they wanted a standard eCommerce class registration system and needed something that they could eventually phase into a full Learning Management System. OpenACS (.LRN) is a great choice that delivers value for this problem because we can effectively reuse code. The existing code really does already address a huge part of their current and anticipated problem space.

Solution Grove chooses our clients and our projects to deliver value. I personally choose to work in OpenACS/.LRN becuase I want my work to be reused all over the planet. I see that happening. I see E-Lane, I run across companies quietly delivering OpenACS backed products via ASP models, and I see new people posting from different organizations world wide.

However, these new people are not interacting with the community the same way the old hackers did. They don’t post that much, they don’t seem to vote for OCT. They sometimes give code back but I would like them to do more. I do think we face a challenge of how to manage our community as the type of use matures and changes. But I think we are wrong to assume that all of the results we have been measuring as signs of our impending doom. I believe some may be signs of a change in our maturity level and the tasks the code is being put to. My experience with Solution Grove is that, right now, for the right customer and problem space, we can provide more value then ever with OpenACS, both in absolute terms and in terms of competition with propriety solutions.