Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
Programming IT Technology

What Makes an Open Source Project Successful? 201

Posted by Cliff
from the what-do-you-measure-your-software-by dept.
crowston asks: "There have been a number of discussions on Slashdot and elsewhere about how good projects work (e.g., Talk To a Successful Free Software Project Leader), but less about how to tell if things are going well in the first place. While this may seem obvious, most traditional definitions of software project success seem inapplicable (e.g., profit) or nearly impossible to measure for most projects (e.g., market share, user satisfaction, organizational impact). In an organizational setting, developers can get feedback from their customers, the marketplace, managers, etc.; if you're Apache, you can look at Netcraft's survey of server usage; but what can the rest do? Is it enough that you're happy with the code? I suspect that the release-early-and-often philosophy plays an important role here. I'm asking not to pick winners and losers (i.e., NOT a ranking of projects), but to understand what developers look at to know when things are going well and when they're not."
This discussion has been archived. No new comments can be posted.

What Makes an Open Source Project Successful?

Comments Filter:
  • Step 3! (Score:3, Funny)

    by Bingo Foo (179380) on Tuesday April 22, 2003 @01:21PM (#5782872)
    the "..." part before the "Profit!"
  • by Landen (183211) on Tuesday April 22, 2003 @01:23PM (#5782898)
    My suggestion, read "The Cathedral and the Bazaar" by Eric Steven Raymond....not just that paper, but the actual book of papers he put together. Very good read, and he takes a lot of the ideas of open source projects and converts them into real world applications.
    • by CmdrWass (570427) on Tuesday April 22, 2003 @02:06PM (#5783232) Homepage Journal
      If you are looking for indicators of success of an open source project, you have to first decide what success is.

      I consider my project, The Java X10 Project [homelinux.org], a success based on several factors:

      First: I've had hundreds of downloads, and since I run this project on a Cable Modem connection, my ISP hasn't become unhappy :)
      Second: I've had dozens of email's asking for support as well as asking how to contribute.
      and Third and finally (I think this one is a very good indicator): There are other websites out there that link to my site.

      Oh, and there's a fourth optional measure of success... more for bragging rights... my site is THE FIRST result when querying google with "Java X10".

      All in all, it is a very small project, but I have tangibles that give me a sense of success. Will this ever reach the magnatude of Apache? Probably not, but gawd, I'd prefer it remain relatively small anyway where I can control it. :)
  • Ambition and Drive (Score:5, Insightful)

    by FortKnox (169099) on Tuesday April 22, 2003 @01:23PM (#5782899) Homepage Journal
    What makes Open Source (or ANY project) successful is ambition and drive.
    You have to be realistic in your goals, and have the drive to see everything through. Open source projects that are abandoned or failed is simply because the developers gave up for one reason or another.

    You know how you got together with your buddies to make a game, but never got very far? That is a classic example of a project failing due to lack of ambition and drive.
    • by FortKnox (169099) on Tuesday April 22, 2003 @01:25PM (#5782925) Homepage Journal
      I misread the questions.

      The real question is how do you determine if you are successful without having profits.

      Its simple. Open source is scratching an itch, right? Is the itch scratched? If yes, then its a success. If it doesn't do what someone else wants, they can add it in, or ask you to do it.

      Popularity != Success
      • by tempestdata (457317) on Tuesday April 22, 2003 @02:32PM (#5783473)
        I agree with you completely. In general when I write something I open source it so that other people can use it if they find it useful too, but the primary reason I'm writing it, is me.

        I just the success of the project by how satisfied I'm with it. This extends to huge projects like mozilla and apache too. As long as the developers themselves are satisfied with it, its a success. If there is a person who is unsatisfied, he can contribute code to fix/modify/enhance whatever feature (hence becoming a developer himself) and become satisfied too.

        Other people being happy with your software, is just a bonus IMO.

        I'm not saying its right or wrong, I'm just describing the way it is. It would also explain why OSS is often accused of being poorly documented, or difficult to use. The person who wrote it didn't really care for those things.
        • Other people being happy with your software, is just a bonus IMO.

          With that attitude, how exactly is open-source software supposed to carve out a majority chunk of the desktop (or any) market? When people besides yourself being satisfied with your software is not a root goal, but a "bonus"?
          • With that attitude, how exactly is open-source software supposed to carve out a majority chunk of the desktop (or any) market? When people besides yourself being satisfied with your software is not a root goal, but a "bonus"?

            Careful, you're making this political, and making a false assumption while you're at it. See, you assume that developers care one way or another whether or not open source "[carves] out a majority chunk of the desktop (or any) market". But, speaking for myself, I know I don't give a
            • See, you assume that developers care one way or another whether or not open source "[carves] out a majority chunk of the desktop (or any) market". But, speaking for myself, I know I don't give a damn whether or not OSS succeeds in the marketplace.

              I wonder how widespread this view is. Because if it is common, then all this "Micro$oft" bashing is quite pointless. I mean, why ascribe to evil what can be explained by apathy?

              • I wonder how widespread this view is. Because if it is common, then all this "Micro$oft" bashing is quite pointless. I mean, why ascribe to evil what can be explained by apathy?

                You're assuming that I (and others like me) dislike Microsoft because of their massive marketshare, and so I should do all I can to reduce said share. However, that isn't correct. If Microsoft had massive marketshare and got it because they played fair and produced a high-quality product that everyone could agree was worthy of i
                • Speaking for myself, as long as I can use my computer freely with whatever operating system I want and can accomplish what I want to accomplish, I'm perfectly happy with Microsoft enjoying 98% of the desktop market. OTOH, it's still enjoyable to poke fun at them (and their unsuspecting users :).

                  Hey, fair enough =)

      • Its simple. Open source is scratching an itch, right? Is the itch scratched? If yes, then its a success.

        I agree. With any project, you have to define some goals. It's usually a pretty good idea at that time to try and figure out how you'll know when those goals are met. I would imagine that most open source projects don't have goals like "develop a product that takes 40% of the market in genre X," (although some do) but instead have a goal more like "develop a product that does x, y and z." You could

    • by linuxlover (40375) on Tuesday April 22, 2003 @02:04PM (#5783221) Homepage
      I know _EXACTLY_ what you mean, bacause I am going through it now!

      Me & bunch of friends started doing a game (well we talked a lot about it). It isn't done (after 1.5 yrs) because
      - I am the only coder.
      - there is no 'peer pressure' to work on it regularly.
      - and after spending 10 hours at work in front of computer, I just don't feel like coding at home!
      - the code is not ready to be released, and going through some design changes. So I am reluctant to invite any others to join.

      once the 1.0 is ready, atleast I can release it and follow up with development.

      slow and stead wins the race, or so they say.

      LinuxLover
  • If the project works (Score:4, Informative)

    by Savatte (111615) on Tuesday April 22, 2003 @01:24PM (#5782914) Homepage Journal
    and it does what it is supposed to do, cleanly and efficiently, then by definition it is successful. Popular and successful are definitely not the same thing, even if you gauge a projects success by its popularity
  • Every piece of software has an intended client, user or audience.

    Are the users happy, overall?

  • Easy (Score:5, Insightful)

    by Vaulter (15500) on Tuesday April 22, 2003 @01:25PM (#5782923)
    It's easy.

    Are there more people using the project than developers? If so, it's successful.

    Do you enjoy working on it? Then it's successful.

    Most open source projects are essentially hobby projects. Whether or not they are 'successful' on a large scale is usually irrelevant.

    • by sporty (27564)
      If the project is active in ANY way... it's successful. How many "dead" opensource projects out there are still used just 'ccause the app is cool?

      Any FreeBSD 2.x machine.. openbsd 2.x.. linux 1.x.x.x.x.x (ok, i added a few .x's... it amused me).

      meta-html, a foul foul language written by bash author was a huge failure. About 10 people used it, one person developed it, and it did things badly. Well, maybe the fact it gets used at all at some pointmakes it successful.

      Who knows...
  • by West Palm Beach (654328) on Tuesday April 22, 2003 @01:27PM (#5782937) Homepage
    Success being measured on how many hits you get on your download page and how many downloads of your project actually occur.

    It's one thing to be satisfied with your own code, but to see others satisfied with it, well that's what I'd want at least.
  • by stratjakt (596332) on Tuesday April 22, 2003 @01:27PM (#5782939) Journal
    The same thing that makes any software project successful:

    a win32 port.

    Next question please.
    • by The Bungi (221687) <thebungi@gmail.com> on Tuesday April 22, 2003 @01:37PM (#5783023) Homepage
      Indeed, the top downloads at Sourceforge.net are consistently either native Win32 apps (like CDex) or Win32 ports of existing Linux apps.

      Get ready for the troll mods, though. That's not the kind of truth that goes down well 'round here =)

      • Hey I agree! I tried the Gimp on Linux and said MAN I wish this thing was on Windows......then I found the Windows port. Only reason I wished it was on windows was making my scanner work on SANE is a PITA! My only complaints now is that I wish that the GIMP was able to do CMYK separations, and I WAS going to say the windows port being more up to date but I just noticed that it has caught up to the Linux version. So now I withdraw that complaint! The Windows port is very stable on XP and I use it every
      • I'm not sure whether or not stratjakt was trying to be a troll, but I think a Win32 port of a project really is a legitimate indication of success. It likely means somebody enjoys your program so much that they want to use it in those situations where they're forced into using Windoze. Because of the number of apps that are available for Windoze, that's a real compliment.
      • I would guess that's because most Linux users either pull the source from CVS or use packages built by their distro. I use gaim, but I don't think I ever downloaded it from SourceForge, I originally got it from the CDs, then I pulled it from apt, now I build from CVS. None of those will show on SourceForge.

        And of course, there are a lot of Windows users out there.

      • But that's because nearly all the stuff developed on sourceforge I want is already available in my distro. I don't think I'm exactly Robinson Crusoe there, either.

    • by jmv (93421) on Tuesday April 22, 2003 @02:05PM (#5783225) Homepage
      The same thing that makes any software project successful:

      a win32 port.
      ...or you can tell that a project is successful when people keep asking for a Win32 port.
  • by Pacer (153176) on Tuesday April 22, 2003 @01:27PM (#5782943) Homepage Journal
    If a piece of software serves your needs -- whether you built it yourself, modified something someone else made, or just downloaded a pirated copy of something commercial -- it is "successful software."

    "Success" is not really a concept that can be accurately applied to "software in general."

    If you are an OSS designer you will have your own standards of what is "successful" and what is not for your baby. These are not necessarily standards held by anyone else, nor should they be.

    Does it really matter?
  • by Mastos (448544) on Tuesday April 22, 2003 @01:28PM (#5782949)
    Really, the only reliable measure of a software project's success is if its useful to you and meets your needs. If your satisfaction with a project is dependent on other people's useage/opinions of the software, you will probably never be happy. Remember, open source software development is for 1) fun and 2) to scratch an itch. Anything more is chasing after the wind...
  • by Webmoth (75878) on Tuesday April 22, 2003 @01:28PM (#5782951) Homepage
    What I see as successful are the projects that do something that already being done by a successful commercial application, only doing it cheaper and very well.

    The ones that do the same thing, only poorly, will fail.

    The ones that end up costing more to implement than the commercial application, even if they do it better, will fail.

    The projects that do something new, something people don't know they need, are doomed to failure from the start because your typical open source developer doesn't have the resources to market the product. There was a time when people didn't need sliced bread. Bakers didn't need bread slicers. But the bread-slicer-makers had the resources to market their product and convince the bakers and public it was needed. So now we have sliced bread, and nothing greater since.
    • What I see as successful are the projects that do something that already being done by a successful commercial application, only doing it cheaper and very well.

      I think this is wrong.

      I think that when a successful commercial application exists, open source projects have no business meddling unless that commercial application is failing to address market needs at a reasonable price.

      The goal of open source should not be to destroy the commercial market for software.

      Sure, sometimes an area is charging pric
      • I think that when a successful commercial application exists, open source projects have no business meddling unless that commercial application is failing to address market needs at a reasonable price.

        I agree. Note that by definition proprietary software (what you mean by commercial; after all, free software may also be commercial) fails to address a vital market need: that of freedom. Thus, free software has plenty of business in every market.

        Open software created by people with too much time on the

        • They've just shown they don't have to care about costs.

          Ummm... That means that their costs are lower. If by harnessing the spare cycles of grad students and sysadmins one can write an app which may be given away, then one has lower costs.

          If I were funding such a university, I'd stop giving it money if I found it was giving out value rather than charging for it, while still coming to me and telling me how hungry it was for money.

          But also, I rely on the capitalistic free market to weed out ways of doi
          • If by harnessing the spare cycles of grad students and sysadmins one can write an app which may be given away, then one has lower costs.

            If I were funding such a university, I'd stop giving it money if I found it was giving out value rather than charging for it, while still coming to me and telling me how hungry it was for money.

            Hey--the students' off-hours labour should be their own. And as to their work--perhaps the university derives more value from giving away the work than from charging from it.

            • If they were good products (i.e. worth their price), people would be willing to pay for them.

              The burden is yours to show that this is so. From where I stand, people take a 90% product for free over a 100% product for cost any day. And if the for-cost people try to provide 90%, the same people whine excessively that 90% isn't good enough because they paid real money and deserve better.

              Everyone wants free stuff because they have no money to buy it. They have no money to buy it, of course, because they d
  • is one that meets it requirements.
  • by Call Me Black Cloud (616282) on Tuesday April 22, 2003 @01:30PM (#5782968)
    Profit indicates success of the marketing plan, not the software development effort. It doesn't matter if you're coding for love or for money, there are some things that apply to both. Take a look at process and product. How is the process? Are there goals and are they being met? How is testing coverage and how often is testing being done? Is the code maintainable? Take a look at the end product. Does it do what it's supposed to without too many bugs? Are issues being addressed in a timely manner? Most importantly, how well does it fit the need for which it was designed?
  • by Red Warrior (637634) on Tuesday April 22, 2003 @01:31PM (#5782983) Homepage Journal
    Milestones: establish concrete goals when you start the project, along with a timeline. Of course, these may evolve over time. Happens for commercial apps, too. If concrete milestones aren't met at some point, it's just vapor.
    Traffic: both developer and user. Is there a relatively continuous level of input/interest in the project? If developers don't want to develop, and users don't want to use, it's probably going nowhere, even if it's the best thing since the BeOS.
  • by BabyDave (575083) on Tuesday April 22, 2003 @01:32PM (#5782990)

    Stallman demands that people call it GNU/[Foo]

  • by wawannem (591061) on Tuesday April 22, 2003 @01:33PM (#5782996) Homepage
    As an end user of successful open source software, I would have to say that the best way to get feedback on the success of your project is through an X-users mailing list where X is your project. It seems to me that the more activity in a mailing list usually indicates the size/success of a project. I have spent time in the past simply lurking on a mailing list for a while for products that I am evaluating, and in other cases, I join the mailing list to lurk right away on desktop software that I am not already familiar with. It is the best measure thusfar that I have found.
    • The only problem with that metric is that a busy mailing list could also indicate that your software or documentation sucks and people have to go looking for help to get it working.

      Most of the the stuff that I develop is heavily bent towards usability/ease of use. A mailing list full of people having trouble is not a great sign of sucess from my point of view... But thank you emails on the other hand... :-) that's what I like to see..

      --
      Simon
  • It should be... (Score:3, Interesting)

    by BubbaTheBarbarian (316027) on Tuesday April 22, 2003 @01:33PM (#5782998) Journal
    Stable in relation to the time invested.
    Useful...to someone (this is open to broad interpetation).
    It should have the goal of attaining at least as much funtionality as any of the software that it is replacing.
    Other examples of good OSS is squid, openoffice and, yes, even Linux (Red Hat 9 is least as functional as Win98SE, and that is just from an end user standpoint).
    Just my W.O.
    WAR TUX!!!
  • By feedback (Score:5, Insightful)

    by truthsearch (249536) on Tuesday April 22, 2003 @01:33PM (#5783001) Homepage Journal
    to understand what developers look at to know when things are going well and when they're not

    The bug list and feature request list are one way. Strong feedback implies interested users. Also adoption by other developers into the development group shows others are interested, so you must be doing something right.
  • Success (Score:3, Insightful)

    by j_kenpo (571930) on Tuesday April 22, 2003 @01:35PM (#5783012)
    Probably the same things that make commercial projects a success, a well defined, well structured and maintained project definition and active development. If you look at some of the more successful projects out there, such as Mozilla, they are actively being maintained with a goal in mind. If a project has no user base, then it is doomed to fail. If there hasn't been an update to it in like 2 years, then chances are, unless it was perfect the first time around, it will fail. If the project isn't useable or provide any sort of functionality or value, it is doomed to fail. After all, how is a project going to succeed without a user base. Commercial support doesn't seem to hurt Open Source projects either. With commercial backed projects, some of the more important things that programmers are inept at, like UI design, could be addressed (although there have been very few instances where it has).
  • what I do (Score:3, Interesting)

    by meshko (413657) on Tuesday April 22, 2003 @01:37PM (#5783022) Homepage
    on one of my open source projects I used (more accidentaly than deliberately) the technique which is standard among people who write exploit. I have a small error in the makefile which causes something liek 50% of people come back for help on compiling it. This gives me pretty good estimate of how many people are actually using the package :)
    Of course this leaves out win32 users who just download the binary, but oh well.
    • I have a small error in the makefile which causes something liek 50% of people come back for help on compiling it.

      Is this a good idea? Does the other 50% manage to compile without help or simply throw their hands up and move somewhere else?
    • So how do you know it's 50% then?
  • by dfn5 (524972) on Tuesday April 22, 2003 @01:37PM (#5783029) Journal
    You have been sued by a huge mega corp with a team of lawyers over patent infringement and the EFF comes to your rescue.
  • Users (Score:2, Insightful)

    by The_Xnuiem (558191)
    I look at the several open source projects I have done, from just a few lines of code, to several thousand, and I think success, like beauty, is in the eye of the beholder. If i have users, and users that enjoy the software I am happy. I am just elated when the users get on my forums and help each other out. Not only are there people out there using my software, but people that like it enough to keep coming back to my site and post helping other less experienced users with issues and chit chat.
  • Most of the time Open Source Projects are something you start to solve a problem for yourself or you company and you release it open source for other people to use it so they wont have to program it them selves. So often for smaller open source projects popularity and success is not really that important, it got the job you needed done and it works. If other people like it then thats great. If they don't like it then no loss for you. Now the trick to make an Open Source product that is successful and pr
  • Its the charisma (Score:5, Insightful)

    by mnmn (145599) on Tuesday April 22, 2003 @01:39PM (#5783045) Homepage

    Some projects are simply on the right spot. Good examples are X11, SDL and Mesa. There was overwhelming need for it, so more developers quickly joined ranks.

    Some projects are outright glamorous in a geeky way. Anyone working on the Linux kernel enjoys the respect of any geek for instance. Stuff like drivers and VM are supposedly tough subjects and anyone involved in ANY way is much more kool than someone making widow managers, no matter how complex.

    Some projects provide the much needed high of bashing the Goliath. Wine and Samba fall in this category. Look ma! No windows. And seeing Bill Goates and Balmer try and pull the rug under a project that makes no money is just glorious.

    Projects really attract various developers for various collections of reasons. The best reason is the most original.. to scratch that geeky itch. Thats how Linus started the kernel and how others like Alan Cox joined in. Thats how UNIX was originally created and BSD nurtured in the universities. Being so big now, the opensource world has other reasons kicking in, like a smart student seeing the market is kaput, realises he needs something big put on his resume fast. Thusly security and networking projects boom! Included here are also java-related projects.

    The most popular projects reach there because theyre there at the right time. Apache didnt quite start out with the best design, but a good webserver was NEEDED, and apache most of the time had more features than the rest.

    How do popular projects maintain their status?? Momentum of course. Both apache and the Linux kernel are good examples. FreeBSDers fume on why dont teen hackers flock to BSD. Everyone knows Linux, and once its in the upper parts of the corporate, everone needs to learn it. The media follows it and the natural positive feedback keeps it going. True also for proprietary software, like the most used OS out there for example. Bad quality but who can stop THIS momentum easy??

    Yet some softwares quality and design are simply good. They have the power to dethrone the champion. Qmail simple came and is gradually removing sendmail from its position. Proftpd is removing wu-ftpd, and we can only hope Linux or FreeBSD does the same to Windows.
  • Simple (Score:3, Interesting)

    by PissingInTheWind (573929) on Tuesday April 22, 2003 @01:43PM (#5783071)
    Quality, Usefulness, Progress, Maintenance.

    Quality, because you want something that works. Usefulness, because else there is no use to the code. Progress, because you want the project to evolve constantly. Maintenance, because you don't want to use software that has a buggy, unmaintained codebase.
  • What Linus said... (Score:5, Insightful)

    by LMCBoy (185365) on Tuesday April 22, 2003 @01:43PM (#5783074) Homepage Journal
    Hmm, a lot of the posts seem to be missing a big point.

    A good metric for "success" in an OSS project must be whether the developers have fun hacking on it. Even Linus has said repeatedly that he made the kernel "just for the fun of it".

    Most of the projects are hobbies, and the point of a hobby is to provide an interesting diversion for the hobbyist. If thousands of people get to enjoy a web browser/OS kernel/game/whatever as a side effect of the hobby, well that's just dandy. But if it isn't a commercial product, then who cares about market share, step-3-Profit!, or any of that other nonsense?
    • by hachete (473378)
      the corollary might be:

      someone *other* than the project creator takes over the maintenance/leadership of the project. It *must* be fun/love/etc if it gets to this stage, right?

      h.
  • by Lieutenant_Dan (583843) on Tuesday April 22, 2003 @01:44PM (#5783084) Homepage Journal
    The following points have served me well in the last few years as I've made more and more of my projects open source:
    • a strict adherence to published standards
    • good (but not necessarily correct) source code, so that others can read it
    • documentation, especially if revised by people who implemented your project
    • constructive criticism from end-users
    • a few deployments in non-profit organizations
    • some deployments in the corporate world
    • a cool name!


  • Fun (Score:5, Interesting)

    by jaaron (551839) on Tuesday April 22, 2003 @01:44PM (#5783085) Homepage
    Are you still having fun?

    I've commited some of my spare time to open source projects and even started a few pet projects of my own. While success can sometimes be measured by number of users, or downloads, or mailing list traffic, I think it's worthwhile to step back from the project and make sure you're still having fun. At least that's important for those of us who develop open source software as a hobby as opposed to those who do it for a living (and there are many more hobbiest out there). If suddenly you find yourself dreading to read your mailing list or fire up you text editor or IDE, then you know it's time to take a break or re-evaluate the project.

    Then again, every developer and project has different goals and really it's only by these individual metrics that a project or individual's success can be measured.

    There was an interesting thread on the Jakarta general mailing list about this a couple months ago. You might want to check it out. [mail-archive.com]
  • by tlambert (566799) on Tuesday April 22, 2003 @01:45PM (#5783091)
    The important gateing factors on any Open Source project are:

    1) Motivation (a problem to solve, that people
    can agree upon)

    2) Working code (something that comes close to
    solving the problem, or from which people can
    see a solution)

    3) Community (communications and peers to provide
    a context in which the work can take place)

    A lot of people have #1, so they declare a Source Forge project, try to cookie-cutter #3 (impossible to do), and leverage having #1 and #3 into someone creating #2 (also impossible to do).

    Mozilla had #1, some of #3, and almost none of #2 for a very, very long time, and it's still suffering the backlash from it (for example). BSD did not take off until Bill Jolitz made it boot. Fetchmail sort of works, but no one cares. Etc..

    As a matter of fact, I claim that, given any #2, I can *find* #1, and *create* #3.

    It's trivially easy to start Open Source projects by the dozens, if you are even a halfway decent coder: just make something good enough to work, but lacking enough to convince a group of people that they could (and should) improve it, rewrite it, or otherwise do better.

    That sounds like most modern commercial software, to me, since it has legacy design factors from the 1980's/1990's causing it to need documentation, support, and training materials as part of the (no longer relevent) copy protection systems that grew up around the software developement process.

    Seriously, it took a *lot* of skill to come up with the first Word Processor that needed documentation for people to be able to use it ("PC Write"). The author, Bob Wallace, said at one convention where he spoke, "Software...", gestured expressively above and to the sides of his head, "...is all up here. I sell manuals.".

    -- Terry
    • Well, you need interest in a project as well. I had a scratch to be itched [sf.net], but the union of the set "people who code" and "people who skydive" is very small. For some reason people aren't as interested in my project. I have #2, am lacking #1 and #3 for lack of interest from people also interested in the same. So I think that your theory about being able to find #1 and create #3 doesn't always work. :-)

      Cheers,

      Costyn.
  • Well, it depends (Score:5, Insightful)

    by Ian Lance Taylor (18693) <ian@airs.com> on Tuesday April 22, 2003 @01:47PM (#5783109) Homepage
    There is no one definition of success for an open source project. Anybody who starts one should have some goals in mind (e.g., hack on cool code, make something which solves a problem for me, make something which is used by 100/1000/1,000,000 people). Success is meeting those goals.

    Here are a couple of examples.

    I wrote GNU/Taylor UUCP. When I started, success for me was to develop a UUCP package which would be widely used by people without the money to spend on AT&T UUCP, and to be the premier UUCP package on free Unix systems. I met those goals.

    I was the GNU binutils maintainer for a few years. During that time, success for me was providing, on multiple platforms, 1) an assembler which could handle whatever gcc generated; 2) a linker which was compatible with the system linker (on a non-free Unix system), and was faster; 3) tools which were very fast on free operating systems--specifically, much faster than gcc so that they were not the bottleneck for development; 4) adding full support for shared libraries. Those goals were only partially met--on Solaris, in particular, the Sun linker was better.

    If you don't have any goals, then you can't succeed. If you can't measure your goals, then you can't know whether you have succeeded.
  • by idfrsr (560314) on Tuesday April 22, 2003 @01:48PM (#5783114)

    I think that (even though this may be obvious) that the 'success' of a project largely depends on its initial goal. Traditional measures don't really cut it.

    For example , if I start an open source game, and my goal would not be to make the next DOOM/UNREAL/HALF-LIFE killer for linux, but to have fun trying something hard. So the success of the project of that would be how well I did that, with or without the help of others. Anything after that would be a bonus

    If a project is really ambitious in what it wants to achieve (mozilla, WINE, etc...) then its success will depend on more tangible factors... how bug tracker submissions (is anyone trying it out and care enough to report bugs), how many downloads are there (is the word out?).

    The real catch though is that OSS is much more dynamic. My OSS uber-linux game might become a huge success and become much more ambitious as a result and so the project could start to take shape as something much more elaborate. This aspect is a huge advantage and disadvantage of OSS. The project will change as whoever becomes interested or disinterested in it.

    So, perhaps a successful project should have interest in it by whomever. At least by the developpers involved, and of course in a general sense as well. It doesn't really matter if it becomes 'the sliced-bread' of OSS (as much as the developpers may dream - a definite good thing) but as long as someone cares about it. Most projects suck, some are good ideas poorly implemented, some are bad ideas well implemented and some manage to get both right (Apache?). They all have potential, but without someone caring that initial potential will go nowhere.

    So if you are still interested in developping your project, then I would say its still a success.

    insertFeelGoodOSSComment(char *s="I can make a difference!")
  • by The Bungi (221687) <thebungi@gmail.com> on Tuesday April 22, 2003 @01:48PM (#5783119) Homepage
    Going past the "0.1 - Thinking about it" phase in Sourceforge.

    It's all downhill from there.

  • How about how well the piece of software manages to stay true to its objective? One of the great things about OSS is that people can take source code and fix it up to do something they need but at the same time, 1000 people with their hands in the pot has the tendency to make a project go nowhere and collapse under its own weight.
  • I think all that is needed is for the product to do something useful.
    If I make or find something that does something useful, and actually works, it is a success.

    I have several simple scripts that are successful, they simply do what I want.
  • I notice (Score:4, Insightful)

    by Apreche (239272) on Tuesday April 22, 2003 @01:59PM (#5783187) Homepage Journal
    What makes open source projects successful is obvious. Look at things like Mozilla, gaim, DC++, CDex, etc. What do they all have in common?

    Most open source projects fall into one of the following categories.

    1)A program someone wrote for themselves, and decided to make freely available for the heck of it.

    2)By geeks for geeks.

    3)Done by a group, for free and open, but thinking like a commercial product.

    3 are the succesful projects. They have good GUIs, they don't crash, they have features that make them better than commercial alternatives, they install easily, they work on many OSes, and they are generally useful. They are often mistaken for commercial products. Slick interface is key. They just happen to be free and open.
  • I think that success can be reasonably defined as attaining goals.

    So the answer to your question is wholly dependant on your goals for the project.

    Do you want to out-rank Linux on Freshmeat?

    Do you want to clone a commercial app?

    Do you want to create the gold standard app for a particular purpose?

    Do you want to learn a new language?

    If attain your goal, that would be success. If you end up taking a detour that is as interesting, useful, or fulfilling as your original goal, that is probably success as w
  • by Ian Lance Taylor (18693) <ian@airs.com> on Tuesday April 22, 2003 @02:11PM (#5783267) Homepage
    As I and others have said, success for an open source project is defined by meeting your goals.

    But let's say your real goal is to be a respected member of the open source community (which, as we all know, leads to fame, groupies, and vast wealth). What should you do to meet that goal? (Actually, there are several ways, but I'll only talk about ones which involve starting an open source programming project, since that is what the original question was about.)

    First, your project needs to be something which other people will want to use. Don't write another mail reader. Write something new, at least new to open source. If you don't know what people want, you'll have to ask them. In general, your project needs to either be an open source replacement for an existing proprietary program, or it needs to create a new and interesting niche.

    Second, your project needs to work, at least minimally. You have to be able to get it to the point of working, either by writing it yourself or talking people you know into pitching in. If your project doesn't work at all, few people will contribute to make it better.

    Third, you need to sell your project by mentioning it on Slashdot, on relevant mailing lists, and on relevant web sites. You need to do this respectfully. One approach is ``I'm looking for suggestions on how to improve my FOOBAR program. It can already do AMAZING THINGS, and I'd like to know how to make it work better for specific users.''

    If you follow these simple steps, you too will be on the road to fame and fortune! When you get there, just don't forget the little people who helped you along the way.
  • by wfmcwalter (124904) on Tuesday April 22, 2003 @02:16PM (#5783316) Homepage
    Those large projects that move forward at a decent pace seem to be those that have a high tolerance for forks. Forks are generally "considered harmful", but in fact forks in a tolerant, open-minded, and "adult" environment are highly beneficial.

    Good forks have the following in common:

    • they fork off to do major changes to an existing product, changes that require a destabilisation of the codebase that would prevent the main product from doing necessary maintainance and incremental fixes
    • the "factions" (the forkers and the forked-from) stay on good terms. Everyone keeps a (mostly) level head, and both factions see the wellbeing of the other as important.
    • changes from the fork are migrated back, piecemeal or wholesale
    • often either the fork or the original branch are deprecated, and the fork fused

    Consider some good forks:

    • mozilla -> phoenix -> mozilla(whateveritisbird)
    • X11 -> XFree
    • GCC2 -> EGCS -> GCC3
    • linux is perhaps the best example - two major branches running all the time, and both (particularly the 2.3, 2.5, etc. dev fork) heavily forked themselves. 2.5 changes are often backported to 2.4, even to 2.2, and the maintainers all still talk to one another.
    By way of contrast, the GNUemacs/Xemacs fork is a prime example of a bad fork. Bad blood, wilful incompatibility, divergence, duplication of effort.

    If XFree's current "governance fork" turns into an all out code fork then that would, I fear, be a bad fork - all that bad blood will surely make things very difficult technically.

    So perhaps the best advice to a successful project is "encourage forks, and provide a safe environment for them". Apache and Mozilla both do this, to their benefit and credit.

  • you know the thing works if large corporations and/or governments try to stop you. ask dvd jon, phil zimmerman, justin frankel, ...
  • Having headed several "also ran" open source projects, I can tell you that you first ingredient is always luck.

    Luck?

    YES. Luck. Luck that your uber-buggy 100 mph tape version is picked up and used enough for poeple to send you fixes. Luck that you gain the interest of at least a few someones willing to maintain the code, and integrate new ideas into it. And luck that the functions of your project is not enveloped by a larger open-source project 6 months down the road.

  • ..on Slashdot:

    Click me! Click me! [sourceforge.net]

  • by Ricdude (4163) on Tuesday April 22, 2003 @02:45PM (#5783582) Homepage
    Specifically, when you see other projects you think of as being successful, including references to your project in their documentation. Even if it's telling users how to workaround your program and its, um, features.

    It was a strange thrill to see ESD called out by name in the Quake (2?) for Linux documentation from Id software. I knew the project was onto something when Id deemed it necessary to warn people that my simple software audio mixer would interfere with the audio in Quake. They were expecting it to be enough of a problem to head it off in the official documentation. That's a user base.

    If you have a program for Linux, inclusion in one or more major distributions is also a sure sign that lots of people are getting some use out of your program. If that many people are using your program, it may even outlive your ability to contribute to it...
  • by Rick the Red (307103) <Rick.The.Red@nospAM.gmail.com> on Tuesday April 22, 2003 @02:49PM (#5783609) Journal
    If job hunters care when you put it on your resume, the project is a success. If they don't, it isn't.

    Put "Key developer on Samba" and you'll probably get the job.
    Put "Key developer on [insert one of the countless projects that never released anything]" and you won't.

  • Buckminster fuller designed a radically different car [swifty.com] that didn't get invested in, and (therefore) didn't sell.

    When asked about why his car failed, Bucky responded by saying that he considered it a success as he didn't judge it in economic terms.

    Success or failure strongly depends on what you are trying to succeed at.

    So, first question, is your project trying to achieve:
    - acceptance
    - Profit!
    - problem resolution

    Once this is answered, then you can judge success by many different methods.
  • by jj_johny (626460) on Tuesday April 22, 2003 @02:51PM (#5783630)
    I currently am working on CMS projects (using not programming). I found that there were over 200 CMS's floating about. Looking at it there are only a few that I would recommend to clients - support, depth of features, documentation (any), etc. Clearly if you think that only a handful are install-worthy, the other 190 plus CMS's are failures. And I would say most are failures because they are too close to something that already exists but is worse.

    Its like having to buy the knock off of your favorite cereal because its cheaper and you are poor. But in this case, since it is worse than the originals and costs more (time to figure it out), you should never use it.

    Open source software today has no cleaning mechanism to remove old junk and concentrate development resources on the cream.

  • You can tell you have a successful open source project when you start getting useful patches from other people. This is the main point to releasing your code as source. There are other measures of success, but they don't measure success as an open source project: if you're having fun, you have a successful hobby; if your itch is scratched, you have a successful project; if you got fan mail, you've got a successful published software project. To demonstrate success as a open source project, you need to get the expected benefit of releasing the source (as opposed to writing it, or releasing binaries).
  • Hi

    A good way is to let users compare it to other similar software.

    I have made a open source script which does that.

    You can get it here [all-technology.com].
  • Maybe not a sure sign of success, but a symptom of success would seem to be inclusion into a commercial distribution like RedHat or Suse. Then again, now that we have 5 or 6 CD's of "extras" that syptom might be multi layered based on if your app was included on one of the "Required" CD's or one of the "Optional/Extra" CD's.

  • by ediron2 (246908) on Tuesday April 22, 2003 @03:45PM (#5784098) Journal
    I agree that coolness/spin or a large market or need are critical factors.

    However, those are largely things we don't control. The controllable factors of success are more interesting to me. I guess it's because there are lessons on software engineering here. Cool projects can be run into the ground, and tiny niche projects can do well if they're well-run.

    Hands down, the best nuts-n-bolts coverage I've ever seen on important issues to successfully developing open source is in a book by Karl Fogel [red-bean.com], Open Source Development with CVS [red-bean.com]. Fogel's one of the developers behind CVS [cvshome.org] and it's planned successor, Subversion [tigris.org]

    The book is an interesting paradox: it has 1/2 the chapters GPL'ed. When I started working with CVS, they were useful enough that I bought our development team two copies of the book. Then I read the rest of it... and those are the chapters I'm talking about. Absolutely, they're the best summary of what it takes to successfully run a GPL-ish project. (Ironically, they've GPL'd the technical detail chapters and you have to buy the book to read the parts that talk about things critical to the success of an open source project).

    Success is helped by things like doing lots of releases (seeing progress gets others to buy in, and not seeing progress leads to people quitting in frustration) and only adding features you need (let someone else add the features they need). There's a lot more here, but I'm not about to steal Fogel's thunder. Many of these are ideas that are effective in regular development, especially on custom coding projects within big companies.

    The focus on GPL code is not the same as on shrinkwrapped products: you're not trying to add features just to add selling points. You're trying to get more people to use the project.

    • I realized after posting this that, like a few others, I'd misread the question. Mine is a pointer toward 'how to make the code grow', not 'am I a success?'. Feel free to mod me down to -1 as offtopic, but check out his book. If not for the good project advice, then because you damn well NEED cvs.

      There. 'Nuff said.

      As for the correct reading of this question about success, everyone else has said it well. All I can add is a quote: "if you're not having fun, you're probably not doing it right..."

  • And I mean: really useful. Plus your application has to be of a quality that is only found in commercial applications. Then you have a combination in your hands that is attractive to an enormous amount of people: quality software that is useful for a cheap price: free. There are a lot of open source projects that do not meet one or more of these requirements and are therefor not succesful. A lot of developers think they have made a great tool, but do not understand that the tool they made is only useful to
  • by paj1234 (234750)
    It's successful if...

    - It scratches the itch
    - It's fun to do
    - Other people like it
    - Other people send in contributions!
    - It makes you famous!!!
  • by Anonymous Coward

    The one thing that everyone seems to have missed is that successful Open Source Software tends to have a greater scope of use than it's original conception. The programs I find myself using are programs that can interact with each other in a modular fashion; whether that be throught a piped command, or simply support for "generic" file formats (such as XML, CSV etc etc). With a little effort you can bring together a suite of programs you already have in your library to get a task done, rather than wait for

  • As a developer of an OSS project, my measure would be the number of bugs/RFE's reported per time. Many bugs _reported_ means that many people are kicking the tires on the stuff, and see enough worth in what you're doing to report shortcomings, rather than give up and look elsewhere. It also implies that your project is full-featured enough to have room for all those bugs, and therefore room for improvement in general, leading to future fun. ls, bin and cat are all widely used, but I daresay that there is
  • My open source projects go nowhere because I spend all the spare time reading slashdot and never get started.

If it's worth hacking on well, it's worth hacking on for money.

Working...