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!
Didn't RTFA, did we?
Non commercial software == more profits for businesses == better economy == better for the people
Here's why:
Let's say you start your own company, and obviously, you need to profile your business on the web. You can either pay $$$ for commercial software on the server, or you can install free, open-source programs. This way you save money.
This way you get better economy, and this way it's better for the people.
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.
I thought the only way anything could be better for all people, is that it's better for each and every individual. Rather than arguing whether or not open source is better for economy and such, shall we look at ourselves instead and ask whether open source is good for us ?
I'm a software developer, I do commercial development for living. How is open source ideology better for ME ?
I like my outfit, it's inexpensive, but cool -- April Ryan
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.
I agree with your comment. What the author calls the 'closed development model' is actually the waterfall model. He does not seem to understand that many close source companies (big and small - don't knock us big companies) use open standards and agile/eXtreme (non waterfall) development models.
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."
Your parent said better for the people, not all people. Better for the people means that using some kind of average, the total comes out higher.
Personally I prefer measures where the people with the lowest score count for more than the people with a higher score. That is a question of ethics, though.
Just because you get it worse (if you do, which I doubt), doesn't mean the people get it worse. If all the users get better software, and all developers would make a bit less money (which is unlikely), then I would definitely consider that an improvement for the people.
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.
- Why is it called "open source?" To me, this means that the source code--the "source"--is available for review and use by anyone--hence, "open." The article seems to be comparing the waterfall model of software development with a colaborative model, calling the former "closed source" and the latter "open source."
- I gather that there are some (most?) open-source projects have a licensing agreement that says that if you use the project as part of your own that you have to publish the source to the public. Is this true? I assume this is true in some cases, and if so, isn't it a pain to align all the licensing agreements (i.e. you can't use a project that requires published source code and a project that only provides binaries in your own project because the licensing conflicts, right?)
- It seems that if the owner of a project publishes the source code for the project, they can't make money. Or, at least, they'll make less money
... especially if they create some clever way of doing things that people will immediately "borrow" as soon as they see how it's done. Does this have anything to do with "open source?"
- If you're a programmer, how do you make a living making open source programs? It seems they're all given away for free, so "no money in, no money out," right?
Thanks.--- Jason Olshefsky
Karma: Poser (mostly affected by adding this line long after everyone else did)