Help - Search - Members - Calendar
Full Version: Open Source software
America's Debate > Archive > Assorted Issues Archive > [A] Science and Technology
Google
Aquilla
I came across this report from the National Science Foundation about a study they are conducting on open source software development. I know there are quite a few software development types here and I'm curious if anyone here has ever participated in an open source development program like LINUX for example.

From the cited report.....

QUOTE
“In many ways, open-source development projects are treasure troves of information for how large software systems get developed in the wild, if you will,” Scacchi said.

Open-source project databases, for example, record hundreds of thousands of bug reports. Gasser and Scacchi are mining those databases to try to understand how bug reporting relates to software quality or if it has other implications. “These are unprecedented data sets in software engineering research,” he said. “We’re thinking of these databases in a ‘national treasure’ sense. We’re never going to get this from a corporate source.”

Not all open-source projects are alike, however. A small number of open-source projects have become well known, but the vast majority never get off the ground, according to Scacchi. He and his colleagues are trying to understand how successful projects, such as the Linux Kernel, grow from a few individuals to a community of a thousand developers.



The questions to consider here would be first of all, is open source development more efficient than more standard approaches? Is the software product better, the same or worse? What are the pitfalls?
Google
Mike
Open source usually carries the implication of a free public license. The software we run here is technically "open source", but isn't released under a public license. Our software is available for free on an unlimited trial basis, but we choose to register our copy. Its development relates to the article.

The software we use is developed by a corporation (one person at the corporation, actually). They release new versions about every six to eight months, which is considered quite fast compared to other forum software. The released product is a fully functional, robust application.

This open source / free trial model certainly increases the speed at which new versions can be released. It basically allows the company to employ hundreds of testers, many of them very technically able, at absolutely no cost. Clearly, external beta testing with hundreds of testers in all sorts of environments would be faster than internal beta testing, and it is cheaper as well.

The user community tests the product thoroughly, and has a genuine interest in reporting bugs. After all, they can't be fixed if they aren't reported. Because this testing, along with internal testing, is so thorough, it stands to reason that a better quality product will result.

Being an open source project, though, there is an entire collection of websites dedicated to modifying and changing your forum. There are hundreds of talented people who release modifications, some of which are as complex as the forum software itself.

Our site serves as an example. There are dozens "hacks" applied to our site that extend the forum's functionality and usability. There are a couple of hacks we use here that I've released to the community. One is the ability to specify different avatar sizes for different member groups, and another provides a more efficient method for the staff to evaluate, discuss, and respond to reported posts.

These modifications are great, but the do show a weakness in the open source development model. Many of the modifications no longer function after new versions of the software are released. In cases like these, you either wait for the author of the modification to rewrite it (which sometimes never happens), or you can rewrite it yourself. If you're not capable of rewriting the modifications yourself, the features are lost.

Well, that's all the input I have on this for now. smile.gif

Mike
amf
QUOTE(Aquilla @ Dec 4 2003, 01:41 PM)
The questions to consider here would be first of all, is open source development more efficient than more standard approaches?  Is the software product better, the same or worse?  What are the pitfalls?

If you get a lot of people interested in your project, open source development can be more efficient. However, unless other people have a desire to join "the team", you could just end up with one of those projects where no one works on it and that's not so efficient.

If people are interested in the project, the product will be better than most corporate-released products.

As mentioned by Mike, the biggest pitfall is the different forks that can occur in the project's roadmap by well-meaning people who just have a different idea on where the product should end up.

From a user's perspective, open source software usually has a lot of great features for no up-front costs. If you're a company who has no developers on staff (or have no consultants handy), then open source software can be difficult to use, since the documentation and ease-of-use features are usually the last parts to be added to any project. However, many open source projects out there have exceptional features and better quality than most for-sale products of a similar nature. It's a case-by-case thing.
otseng
QUOTE(Aquilla @ Dec 4 2003, 01:41 PM)
The questions to consider here would be first of all, is open source development more efficient than more standard approaches?   Is the software product better, the same or worse?  What are the pitfalls?

I would say it's neither more or less efficient. Efficiency relates more to the development methodology and the quality of the programmers. You can have an open source project with no coding standards and a bunch of newbie perl programmers and it'll be terribly inefficient.

One thing about open source is that the market has a free choice in determining what is good. All the good projects float to the top and the bad ones are eventually abandoned. Whereas, code commercially produced is pushed on users whether they like it or not. And plus, if there is a problem with it, there's nothing a user can do except complain and hope the next release will fix it. With open source, if you find a problem, you can theoretically fix it yourself.

As for pitfalls in using open source software, there is one. If it becomes too successful, then you might have to sell your MSFT shares. wink.gif
bucket
A big open source supporter myself smile.gif And I had picked up that Mike (one of your screenshots was of a mozilla window) and was so happy to learn this site was linux based...yipppie!

I have used Linux since probably 1997. I would never use Microsoft and I personally do not like their software and do in fact feel that Linux is far superior..just all fits in my head better...can't stand all that clicky click garbage. I am a very old school mentality user.
Tho I must admit my dh is the brains behind this operation as I do not think I would have the sufficient time or patience to configure our current set-up. ...we currently run Slackware.

I love the Linux community...I have had trouble with certain apps and the configuration of them and have received personal attention and assistance from the actual apps creator. The community is very proud of their achievements, very open to suggestions, change and is fully committed to world domination wink.gif

I have just been so happy to see the new IBM commercials.

So I would say that yes open source is a more successful, efficient approach to development. The computer ind in this regards exemplifies how our current set up of innovation in other felids is actually stifling. As far as the product being better..I think a lot of that depends on the user's preferences.
The pitfalls would be is it is not for the novice user...you do not get all the nonsense "fluff" that the proprietary software makers seem so intent on pushing on us (but honestly I appreciate this) and you get criminalized for wanting to view your dvds.
Platypus
I use a lot of open-source software myself, both personally and professionally. I happen to be writing this on a Windows box, but right next to it is a Linux box in the middle of a compile, and I flip between the two all day long. I hang around with some fairly high-profile open-source folks, and on my site (which I'm not allowed to link to) I have released a few bits of software. I think it's a great model, but it does have a few flaws.

On the plus side, open-source software simply provides great value - functionality for nothing. Working on open-source software, especially well written open-source software, is a great way for someone to gain experience either with programming in general or with a particular kind of software. The freedom to start projects or branch from old ones encourages innovation. Because open-source software is often developed by people who will never meet face to face, open-source development is way ahead of closed-source in terms of coping with distributed teams.

On the minus side, a lot of open-source software is garbage both inside and out. I've seen some pretty bad source code for proprietary software, but large tracts of the Linux kernel (for example) are worse than any proprietary code I've seen in a decade and a half of professional experience. Many people working on open-source software simply could not be hired, or wouldn't retain their jobs, at any proprietary-software company. Similarly, many open-source programs have terrible interfaces. A lot of them were written basically by programmers for programmers, and it shows. It's the downside of writing code to "scratch an itch"; only your itch gets scratched. Often a dozen projects are started to scratch exactly the same itch, and none of them are really satisfactory for a broad audience beyond their authors. I'm guilty of this myself; I freely admit that PlatSync was written to satisfy a need I personally have, and many others would consider the interface weird at best. In a similar vein, many open-source programmers just have little interest in anything but writing the code, and often just the "core" code of an application. Not only do user interfaces get short shrift, but also testing, documentation, and so on. The general feeling I get with most open-source software is that it's just not done. "Very promising," I say to myself, "very cool, but it's really not ready for release yet."

Personally I think an amalgam of open- and closed-source approaches is ideal. Develop a fully functional prototype as open source, leave that prototype out there for people to use or modify to their heart's desire, but at some point use that prototype as the basis for a commercial-grade product with people paid to do all the boring work that's necessary to make it "real". That way you can still make a living, and others can use the open-source version if they consider it adequate. Everyone wins.
Aquilla
QUOTE(Platypus @ Dec 5 2003, 07:15 AM)
Personally I think an amalgam of open- and closed-source approaches is ideal.  Develop a fully functional prototype as open source, leave that prototype out there for people to use or modify to their heart's desire, but at some point use that prototype as the basis for a commercial-grade product with people paid to do all the boring work that's necessary to make it "real".  That way you can still make a living, and others can use the open-source version if they consider it adequate.  Everyone wins.

This is a good approach I think. My background is writing real time/embedded type of software in a DOS type of enviornment, normally using vanilla C and inline ASM coding, and it's pretty custom kind of coding, not well-suited for an open-source method I don't think.

Where I see the pitfalls, and they have been mentioned here is that over a period of time I can see things diverging and causing upwards/downwards compatibility problems. Of course you have that anyway even in commercial programs. What we call "bugs", they call "enhancements". whistling.gif

Back in the days of wooden ships and iron men, I made a small fortune (at the time) by writing a program that converted "ANSI 77" Fortran written on an IBM system so it could run on VAX/VMS and Gould/SEL systems and vice-versa. Imagine, three systems separated by a common "speced" language. rolleyes.gif
Google
This is a simplified version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.