I work deep in the heart of Microsoft, and I make no secret of it: I like open source.
I won’t start some great debate about OSS, or the traditional opposition of my employer to OSS. I support my company, and I want the stock price to go up, but I do believe that there are some problems that Open Source can solve far better than anyone else can.
Barry Briggs, on his blog, pointed to a news story in the Seattle Times that is a perfect example. In the story, we hear about the frustration faced by the local school board because they have finally created an acceptable method for allowing students to choose their schools, and to put more students into schools close to home, only to find out that the old system runs on badly outdated VAX machines, and cannot be quickly changed.
(I briefly worked on VAX systems… 20+ years ago. I feel their pain.)
Now, if the school board were to put their requirements out for a community of good people, couldn’t that community come together to to build a solution for ANY SCHOOL BOARD to use? Couldn’t we make it inexpensive to license and inexpensive to install and inexpensive to maintain? Couldn’t we make it reliable and easy to maintain, and quite able to run on modern, inexpensive equipment?
Why does the Seattle School Board have to spend millions to move this software? There are tens of thousands of school boards in the USA, and all of them need software to help run operations, including things like managing the assignment of students to schools. Could a solution be built that is flexible enough to meet the needs of any mid-sized city, to be consumed by at least five mid-sized cities?
Think of the millions of taxpayer dollars that could be saved! Even better, the students themselves can participate in writing the systems that their school boards use. (with adult supervision and review, of course, to prevent back doors).
There is a whole class of software that fits neatly in this bucket… software for non-profits, small government agencies, and public utilities. There is little incentive for large players to write software here, and consulting companies can’t charge a lot of fees, so they don’t focus a lot on this space either.
We can all feel good about participating in these kinds of things.
To the Seattle School Board: I’ll contribute some architecture work, and even write some code, if you agree to work with an open source community to develop the requirements and build out the system for all school boards to use.
6 thoughts on “Why can't Open Source be used to fix problems like this?”
I work in the law enforcement software industry. It is very similar to what you describe with schools – lots of law enforcement organizations, each sourcing their own software, and spending a pretty penny to do so.
I don’t know that it is relevant to your example, but part of the reason they spend the money is that it is not just about the "basic system", but also about the support (up-time, quick response), customization and complex interfaces (to other internal and external systems).
If support and interfaces are non-requirements, then I agree that your idea has merit.
Is anybody interested in volunteering their analysis and requirements management skills to an open source project? …
Happy to help with the requirements analysis of this if it would be useful.
Can supply examples of analysis I have done and of course the website contains a whole load of relevant information.
Please contact me via website or direct on Guy@BA-Solutions.co.uk
Frankly, I think all publicly funded software development should be open-source – that is if the government owns the IP rights, and it’s not some kind of state secret, then it should be open source. But to really do a project like your are proposing requires separating "open-source" from "community driven". The solution that works perfectly for Seattle’s school board will only work maybe 75% for Baltimore’s. Beyond different legislative requirements, these systems will probably need to integrate with other state and local systems, none of which will be able to to change to support this project. So what I think we need to develop is a core which is broadly applicable to all jurisdictions, open source, community driven, and highly modular, and then any number of customized, paid-for, open-source, non-community driven "plug-ins" which reflect the environment of each school board.
Point well taken, Andrew. You are completely correct. A base of solid technology able to support adapters to multiple other systems, and a mechanism to consume those adapters built in to the architecture.
I sent a note to the school board but haven’t heard back. I’ll have to call to follow up.
I sure would like to contribute with the requirements.
However I’m in New York.
Let me know how I can help. h_gauri_k(at)yahoo(dot)com