How to Misunderstand Open Source
Sam Hiser writes "This article intends to clear up some misconceptions about open source software development practices. It can help developers, IT and business managers transition from a closed development environment to an open one characterized by shorter time-to-market and lower costs. The author, Tom Adelstein -- an experienced CPA, code developer, project manager and consultant -- makes clear the notion that Open Source Software bears a mark of professionalism."
I work for a medium-sized group of developers that is financed by one of the leading academic institutions in the East Coast.
We have 6 developers, employ 18 project managers, and approx 25 sales/accounting folks. We find that our developers are used more efficiently by proofing any submitted code from our open source projects. The role of the project managers is to ensure communication with the other contributors all across the globe, streamline client requirements, and create documentation.
A ratio of 1:3 between developers and project managers is ideal. It took us about three years to determine a formula that worked within our company. We find it extremely important that our developers are free to code and code only. The project managers will do all the tedious work surround programming, such as documentation, attend meetings, debugging, research, and even participating in social activities.
We generate a revenue stream of over $20 million (AUS) last year and were able to clear a handsome profit.
Which is nice.
It seems we get a fairly regular drip-feed of "No look, this is what it REALLY is" articles in the computer press, and yet people still don't "get it".
:-(
:-)
What's wrong with what's happening here ? Is the coverage in the wrong area ("preaching to the converted") ? Is the message simply being disbelieved ("TANSTAAFL") ? Is the lobbying by the closed-source community simply better (all those expense accounts...).
I think all of these articles make good points (all that I can remember reading, anyway), but unless they start to make a difference, they're just hot air
I suppose there's always the argument that you need lots of fresh meat at the sharp end before the grinder (mainstream press) starts to notice any difference. If it's simply that it's a slow process, then by all means chaps, carry on
Simon
Physicists get Hadrons!
The reasons?
1) Installing software correctly (apache, mysql, sybase) is a time thief. Installation is sooooo much more straightforward in Windows.
2) Propagating changes in configuration (and new versions) is a hell in Linux, especially Sybase and Oracle products.
3) Less documentation (usually) from commercial vendors.
4) Worse support (usually) from commercial vendors.
We're hoping to see long term effects in stability. The problem is that NONE our eight Windows 2000 servers has ever crashed...
That said, Linux is so much cooler.
That really depends who you work for. I do development for a living as well, but mine is based on specialized business knowledge developing custom applications and processes. Open source software is very useful in this context because it allows stable components to be aquired at no cost (for example a C++ XML parser, or a cross platform wrapper on things like sockets/pipes/threads). This allows more time and money to go into the business logic.
If, on the other hand, you develop shrink wrap software for the mass market then open source can be detrimental. You now have no-cost compitition. However if that's what you're doing I don't see any reason your job shouldn't be outsourced to India or China.
It seems we get a fairly regular drip-feed of "No look, this is what it REALLY is" articles in the computer press, and yet people still don't "get it".
What's wrong with what's happening here ? Is the coverage in the wrong area ("preaching to the converted") ? Is the message simply being disbelieved ("TANSTAAFL") ? Is the lobbying by the closed-source community simply better (all those expense accounts...).
They don't "get it" because the message is simultaneously complicated and unusual. Think about it. It's really hard to explain to a random business person how open source makes sense. ("Why would I give stuff away?...") More importantly the argument for open source is powerful, but it's not simple. When you are trying to convinve people, simplicity of the message matters.
This is something I've noticed with companies. As a rule of thumb the ones that can explain in a few words what they do, tend to do pretty well. Microsoft sells software, IBM sells computers & services, Wal*mart is a retailer, etc. When they try to get fancy it's much harder to communicate to investors and customers why they should care about you. All those fancy "exchanges" we saw during the dot com boom? Really tough message to get across.
While they have other advantages, message simplicity is one reason the RIAA is so effective in lobbying against filesharing. Their message (correct or not is beside the point) is summed up in one word, "theft". I haven't heard anyone make an equally coherent one word counter argument. Not for lack of trying trying either.
Open source to some degree suffers from the same problem. It's hard to explain concisely and coherently why it's good. Not for lack of trying mind you. Think about "free as in speach/free as in beer". That's an explanation that we almost always have to explain. Not good.
We make fun of them a lot but this is what marketing folks are (supposedly) good at. They spend enormous amounts of time trying to figure out how to get exactly the right message across in the most concise manner possible. And it's really, really hard to do well. It's an art form in some ways like making really tight reliable code. The really good stuff takes a lot of time and smarts to come up with, but is amazing to watch when it works.
This is good too. The last paragraph reads:
"We're rapidly heading for a world where computers are as common as pens or soccer balls -- and computer skills are as common as basic literacy or ball-kicking ability. And in that world, with or without an organized free software movement, I doubt that even 1/10 of 1% of all the people who "know how to program" will be able to get full-time jobs creating computer software."
Good one. Knowing how to program isn't a skill anyone can just acquire by being exposed to computers. After all, implementation hiding is one of the principles of interface design. So people exposed to the interfaces of software are being shielded from how it works internally, and they aren't going to absorb that knowledge. And even if they were exposed to the guts all day long, programming has a conceptual foundation in mathematics and needs a great deal of patience and practice--practice developing your memory to hold long logic chains mentally until they come to fruition in the software, practice knowing what patterns work and what don't, practice building disciplined habits.
That said, I've always argued that anyone can become a computer programmer. But the skills are not the sort of thing you pick up just by using a computer all your life. You have to seek out training beyond that.
I do agree with his point about the service model of software development. It's just not going to be anywhere near as hard as he claims it will be to get a job that way.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.