Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Answers From a Successful Free Software Project Leader 170

It's time to crank up the Slashdot Interviews for 2003, starting with answers to your questions for Nagios developer Ethan Galstad. He went far beyond and above the call of duty here to give you what amounts to a veritable "Free Software Project Leader's FAQ" that anyone who has ever thought about starting his or her own project ought to read. Thanks, Ethan!
1. Marketing & publicity

By mrblah

It seems that most open source projects rely heavily on word-of-mouth and perhaps a few announcement sites, like Freshmeat, that have geek-appeal. But with open source trying to break into the mainstream, what do you think open source projects should do to effectively market themselves to non-geeks?

That's a good question. However, I can't say much about this, since I really haven't had to deal with it. Nagios is targeted towards sysadmins, so they hear about it by word-of-mouth, Freshmeat, Google, etc. Most OSS project operate with no ($$$) budget, so traditional marketing methods are probably out of the question. Having a project included in a popular OS/application distro would be ideal, although this would require that the project first become popular "enough" (whatever that means to the distro producers) through word-of-mouth, web search ranking, etc.

2. Direction

By FreeLinux

Nagios is an outstanding project, not only in terms of its success but, also in terms of its power and broad scope. Looking at Nagios today it is increasingly apparent that its functionality is starting to approach that of HP OpenView and CA Unicenter TNG.

My twofold question is, what has determined Nagios direction thus far? Was it modeled after OpenView and TNG or something else? Also, where is Nagios going in the future, will it continue to develop the features of OpenView and TNG or is it going somewhere else?

The basic features of Nagios were modeled after things found in other similar projects (mon, Angel, spong, etc.), with my own twists to satisfy what I thought was missing from those projects. Many of the features that have been added over the past few years have come about because of suggestions/complaints from users. Other features (like flap detection) have been thrown in "stay ahead of the competition", as well as provide something useful.

I've only had a cursory look at TNG and OpenView, but I think its safe to say that they will always do more than Nagios. That's okay though - they'll cost you a bit more than Nagios will too. I have no intention of trying to make Nagios a "one app for everything" type of project. The focus of Nagios is on monitoring and alerting and it always will be. And while many might assume that everything that can be done in regards to monitoring has already been done, I don't think that's the case (at least in free software). The lack of good failure prediction (using AI) in regards to asynchronous events like host/services failures is a huge feature that's missing from most (if not all) free network monitoring software. That's one of the things that I'll be attempting to tackle and integrate with Nagios down the road. Other things like expanded reporting capabilities, increased scalability and efficiency are top priorities as well.

I guess the direction Nagios is going is towards being an "enterprise" application, however you might define that. When I first started Nagios/NetSaint, I assumed it would only be used on small LANs. Over the years its been adopted by ISPs (local and global) and Fortune 500 companies with substantial networks. Making Nagios work well in these larger environments has been the big challenge, but that's were the development is leading me.

3. Predefined alerts vs. dynamic events

By an Anonymous Coward

Your monitor appears to use a model where it polls a pre-defined list of conditions. In other words, if there are 28 things that could go wrong, there are 28 pre-defined items that change color from green to yellow, to red.

In my experience, an event based model, where monitors determine the problem and severity, works better. The central event manager would just receive the events and handle display and notification.

Can your product handle this sort of model? For example, could I write a monitor that watched a database log file, and have it send events like this?

severity category host message
high database myhost database memory shortage
medium os myhost fs /db1 is over 90% full

What someone determines as "better" is up for debate, but yes, Nagios supports both active and passive checks. Active checks are performed by the monitoring process and allow the admin to centralize check configuration/execution, while passive checks are submitted by third-party scripts and allow flexibility in integrating Nagios with custom/proprietary sources of monitoring information.

Implementing a monitoring app that relies solely on event-based data passed from external sources is an extremely poor design choice, IMHO. What happens when the remote host or process (whatever reports those events) dies a horrible death? Nothing - unless you have some logic in the central monitoring process (which Nagios does) that accounts for these types of problems. There are also issues of whether or not the event data sent from a remote source is credible or not. That is to say, can it be trusted? This is a security issue, as well as one of data integrity. These issues have hopefully been addressed in Nagios by using several different mechanisms: requiring that services (for which event data is submitted) are configured on the central monitoring server, security restrictions on the external command interface (restricting which local users/processes can submit data to Nagios), and the NSCA addon which uses encryption to ensure that data received from remote hosts can be trusted (i.e. it is from a "blessed" user/process).

4. Mass-appeal software

By feldsteins

How can the sucess of geeky sysadmin software be translated into open source projects aimed at a wider audience? Put simply, can the open source model work beyond nerdy sysadmin widgets and spill into the world of mass-appeal software?

This is similar in nature to question 1. Basically, my answer is "I don't know - I haven't had to deal with that". :-)

5. Feedback

By greechneb

I'm sure people often send you feedback about your software. What I would like to know is if you have any feedback that stands out. Mainly what is the most unusual/unique use someone has had for netsaint that you have heard of?

I guess the most common feedback I get would be "Nagios rocks", which makes me feel all warm and fuzzy inside. There are a lot of different people/organizations that use Nagios for a variety of purposes. One of the most unusual was someone who used NetSaint (Nagios), joyd, and some hardware hacks to monitor on/off air time at a radio station as mentioned here. Another one that gave me a few laughs is someone who configured Nagios to generate audible alerts over the company's PA system when things went awry. Turns out things went bad and Nagios started "talking" over the PA when they were in the NOC alone one night, which scared the bejeezus out of them. Hehe.

6. Free software

By Natchswing

Since your software is so successful, have you thought about charging money for it?

Not for more than a few seconds when I imagined myself moving down to the Virgin Islands on a permanent vacation. :-) No, Nagios will always be free (as in beer and speech). I have considered developing additional (software) addons and tutorial-type material which would be for sale, but I keep putting these off to spend time on Nagios itself. Working on this project isn't really about money, or I would have stopped working on it a long time ago.

7. Propriety...

By bhsx

If a company came along and asked to market a version of Nagios that includes unpublished changes to the codebase, what would your response be? For example, would you:

  1. give them a relicensed version that allows them to do whatever they want to it.
  2. incorporate any changes they may want on your own and make sure the changes make their way to the GPL codebase.
  3. tell them to get bent.
  4. make proprietary changes that you leave out of the GPL codebase in order to sell those changes yourself or to other potential clients
  5. Some combination of the above.
  6. Some other direction I didn't think of

I feel that making proprietary changes to GPL code that you keep (at least temporarily) proprietary is a great business model for certain projects, possibly the best model for certain things. Some projects that come to mind are things like i-tree.org's Secure iXplorer, which has a GPL "lite" version which only supports ssh/scp and a "full" version that also supports sftp. OpenOffice.org and Star Office seem to be of the same ilk... If you need the extra functionallity of Star Office, such as the better .doc filters and database functions, then you pay for that. I'm also curious if you have been approached by anyone for this sort of thing.

I would be willing to do work for a company that wanted unpublished changes made to Nagios if the final product was marketed in a way that didn't violate the GPL. An ASP that might use the modified app to sell a service rather than the actual software itself would be a good example of this.

I have been contacted by three or four companies in the past two years that wanted me to do this type of work for them. I turned them all down. Why? Two big reasons:

  1. The wanted me to sign NDAs
  2. Potential conflicts of interest

I hate NDAs. I can understand why companies feel the need for them, but since I didn't need the work, I decided to pass. Also, the changes they wanted me to make were closely related to things that I wanted to include in future releases of NetSaint/Nagios. If I made custom mods for them under an NDA (or even without), I might be locked out of making similar changes to Nagios under the GPL (with work for hire copyright issues, etc.).

I guess I'd rather spend my time developing additional software/documentation to sell on my own rather than screw myself and this project in the long run by doing this type of work for a company (i.e. competitor).

8. How did it start?

By SupahVee

Did Netsaint/Nagios start small, i.e. just a small shell script that was doing some minimal network testing, or was it designed from the ground up as a massive network tester to replace such overpriced products as NP OpenView, etc?

I know there was a serious code revision between Netsaint 0.0.7 and Nagios 1.0, which was phenomenal, btw, great job. But after using Netsaint (I still call it that, old habits die hard) for almost 2 full years now, I've always been very impressed with how well everything runs and scales.

I actually started to work on Nagios because a friend and I had talked about starting a part-time business to provide monitoring services to local businesses. I didn't like what I saw in the other monitoring apps, so I decided to write my own. Nagios was originally intended to be used to monitor small LANs - 20 or 30 servers max. Ironic that I initially started an OSS project to start a business and now I'm so busy with it that I don't have any time to actually do it. :-) Perhaps in the future.

Nagios didn't start as a set of scripts or a cronjob - it was designed from the beginning as a standalone app that relied on external apps/scripts to do the specifics of monitoring. It has come a long way in the past 4 years, but the basic logic is still the same. Much of the work that has been done is the result of trying to make Nagios scale well to larger environments.

9. How is a project like this supported?

By sys$manager

I an running Nagios and having a major problem with one of the plugins that is severe enough to make me throw out the software if I can't get it working.

I've asked on the two nagios mailing lists and received no answer. How do I, working for a major corporation, promote this software package if there's nobody that can help me fix it? Where do I look for support for a free product?

Money talks. If there's no money, people might not talk. Reports like this are not uncommon, so I put together this list of companies and individuals who have indicated that they provide consulting services and support contracts for Nagios. Spend a few (or more) of the corporation's dollars and see if you can hire someone to help get Nagios up and running. Otherwise you are at the mercy of the generosity and availability of the people on the mailing lists.

10. Prioritization

By 10-20-JT

I assume there is a long list of "features" which your users and program staff have come up with for desired future components. How do you prioritize those in the development queue? Is there any method at all? Squeaky wheel? Most requests? Interest of particular developers? Donations with particular requests?

I've never received donations in return for a particular feature being added, but bribery wouldn't hurt I guess. Its hard to say how I prioritize feature requests. Sometimes its the squeaky wheel. Othertimes I'll get a suggestion from a lone user and I'll implement that feature because I see it has good potential.

Another factor is whether or not people contribute code for implementing the feature. Most people just make sugestions because they're not coders, and I'm left to implement that suggestion. That's usually fine by me, except when I'm short on time and either don't see it as being of great value or if I don't think I'll be able to implement that feature in a "reasonable" time frame. "Reasonable time frame" can range from 1 day to 1 year depending on how important I think that feature is.

11. Nagios event handling

By FreeLinux

Nagios' present event handling performs a prescribed action based on a state change in a monitored service, this is an excellent feature that pushes Nagios beyond a simple monitoring application into a true management application. In CA Unicenter, event handling goes a step further, allowing you to configure any action based on ANY message that appears in the event log. This in my opinion, is one of Unicenter's strongest features, though there are many.

Will Nagios be implementing similar event handling functionality or will using utilities such as Swatch remain necessary? And if Nagios will not gain this flexibility, why would you feel that this functionality is unnecessary?

Nagios is designed to handle monitored hosts and services in a very abstract way. It relies on individual plugins (check_disk, check_ping, etc.) or external apps (swatch, nmap, portsentry, etc.) to determine what is important as far as monitoring is concerned. If you remove that layer of abstraction, you can generally do more as far as monitoring is concerned, but you're also limited as to what custom data/services/devices you can monitor. As I see it, there is no real need to break that layer of abstraction.

As a site note (and more to the point of your question), event handlers can be designed to react not only to the state of a monitored service, but also on the output that was generated by the service check (i.e. the plugin). This would allow you to craft an event handler that reacted differently based on what message appeared in an event log.

12. People issues?

By dmuth

Have you ever had to deal with any developers who um, had issues? For example, someone who refused to comment their code, or someone who would volunteer to implement a feature and then "not get around to it" which forced the project as a whole to suffer?

If so, how did you deal with those people? Did you ever find yourself forced to burn any bridges as a result of dealing with such people?

As far as contributing to the core Nagios application, everything has to come through me. If someone doesn't contribute code for a feature, I will (if I have time and think its worthy). Since I rarely (if ever) apply a patch directly, I have a chance to look every line of code over before I integrate it with the main codebase. I tend to over-comment my code and have my own coding style, so I generally re-comment/reformat patches to fit my whim. Doing this also gives me a chance to make sure their patch doesn't have any unintended side effects. If someone submits a patch that I can't understand (or learn) and I don't hear back from them, the patch doesn't get applied. I think thats a reasonable approach considering the fact that they may not be around in 6 months and I'll have to maintain the code for who knows how long. All that being said, I really haven't had too many problems along this line.

13. What it is

By Tet

Current status information, historical logs, and reports can all be accessed via a web browser.

That's great for interactive use, but Nagios (along with Big Brother, and most other monitoring packages) doesn't seem to cater well to automating report generation from outside of a web browser. We need to generate weekly reports on the number of outages, etc., and would like to be able to schedule a cron job every Sunday night to say "get me the uptime stats for abc services, so I can put them into xyz reporting package". We need to take the raw data and calculate rolling averages, etc, to give to customers (we're contractully obliged to do so). I.e., the sort of reports we need are typically more complex than is reasonable to expect Nagios to do internally. Was the interactive bias a deliberate decision, or did it just evolve that way. More importantly, are there any plans to improve things in this area?

Nagios was initially designed for smaller environments where reporting might not be as big of an issue as it is elsewhere. Also, I wanted most all data to be available via a web browser, as that is a fairly ubiquitous access tool. Better reporting will be coming in the future, but I make no guarantees as to when. I haven't really had any reporting code contributed by users, so if you want better reporting soon, step up and contribute. That's how OSS projects work.

14. Versus other commercial apps

By Thinko

In Specific, How does Nagios compare to recent commercial offerings like Microsoft's MOM and Novell's ManageWise / ZenWorks, Will Nagios have the Depth of Intelligence when it comes to Reporting, and tracking similar (or related) events as a single more-critical super-event?

Other items of note for comparison are issues like XML Output, I see that XML status data is planned for Version 3, what depth of information will be able to be queried/reported with XML?

I haven't looked at MOM or ManageWise, so I can't say how they compare. Monitoring apps produced by OS vendors always have an edge when it comes to monitoring their particular OS(es), but they can't always be easily integrated into a heterogeneous environment. Tracking super-events basically involves event correlation. Since event correlation is a necessary part of decent failure prediction, I'll probably be adding this to Nagios in the future.

XML will be used for current status data and configuration information, as well as archived log data. Hopefully that will make it easy for other apps to process the data for reporting purposes, custom interfaces, etc. I doubt this data will be stored natively in XML by the application. Instead, scripts will be provided to convert the native data format into XML.

15. Why the name change?

By sgtron

NetSaint was such a cool name.. why change it to Nagios.. just doesn't have the same ring.

I changed the name to protect myself against future legal hassles. It seems that "NetSaint" was thought by some lawyers to be a potentially confusing term in relation to "Saint", which was trademarked. They way things shook out, I wouldn't have had to change the name, but I decided to anyway. I didn't want to wake up one morning and find that the netsaint.org domain was yanked from me in the name of trademark protection. This is also the reason why I filed for a trademark for Nagios® in the first place.

16. Raking in the coders...

By Brendan Byrd

One of the biggest problems with GNU projects is getting other people to help you out with your code. The code may be freely available, but that doesn't that people will freely code your project. At what point does a GNU project turn from one person coding his/her work, to several/many people working regularly on the project?

For me it happened a few months after the project got started. Feature requests were coming in faster than I could handle on my own. Luckily people stepped up and contributed code for the core app and plugins. I suppose this was due to the fact that Nagios is targeted at sysadmins - people who are probably more likely to be coders than your average Joe. Without help from others, there's no way Nagios would be where it is right now.

17. Finding developers that stick

By CountJoe

I am a project manager for several open source projects and have had a great deal of trouble finding developers that will actually help with development. How do you find reliable developers that make a real contribution to your project?

I got very lucky, plain and simple. A number of people have popped up to contribute code over the past four years, but most do not stick around for a lengthy period of time. Thankfully I have two developers who maintain the plugins, which allows me to concentrate on Nagios itself. Karl DeBisschop and Subhendu Ghosh are the main plugin developers/maintainers and have been critical to the advancement and survival of Nagios. Karl has actually been around since the project started, so he's been able to contribute a lot in terms of the main application, as well as the plugins.

18. Plug-in vs. monolithic work?

By jenkin sear

Nagios depends on a wide variety of plugins to do its job (in a way, like nessus). To what degree do you find outside developers contributing patches to the main codebase, vs. contributing plugins? Is there a path where developers add plugins, and then "graduate" to core patches? I think I see a similar path in both Linux and Apache, where one might write modules and then get involved in some of the deeper magic- and I wonder if that architectural decision may be a key to the project's long-term success.

There isn't necessarily any correlation between people who submit patches for the plugins versus the main codebase. Each patch is judged on its own merits, regardless of the contributor's previous involvement in either project. Patches for the plugins go through Karl and Subhendu, while patches to the main codebase go through me. Plugins generally get more patches than the main code - probably due to the fact that they're smaller and easier to understand for most people. From that standpoint, it would make sense that people start out making smaller/easier patches for the plugins rather than larger/more extensive patches for the main code.

19. Did the brown stuff ever hit the cooling thing?

By del_ctrl_alt

Was there a make or break moment when it could have all ended? If so what pulled the project back on track?

This question was modded fairly low, but I felt it was a good question to answer, so I did. Maybe my experiences will help others...

Yes, there were at least two times when I seriously considered dumping the whole project for good. One came when my personal life was going through some rough spots and the other came when the trademark mess popped up. Both times I ended up deciding to continue the project, but only after several months of "downtime". I felt that I had invested too much time in the project to simply let it die off. I enjoy working on Nagios and think I would have felt a sense of personal failure had I decided to quit when things got rough. There have been a number of other times when I've thought about ditching the project, but I've come to realize that they are just part of my natural development cycle and will pass with time. I've found that my normal cycle works something like this:

  1. Spend time mulling over and planning new features
  2. Code, debug, document
  3. Detest everything about this project and do nothing at all
  4. Rinse and repeat...

When I feel I've had enough and can't stand the project anymore, I just stop answering email, stop coding, and stop thinking about the project. This can last for a week or four months. When I've had enough time away from everything, I can get started again. This period of disgust is also a time when I start formulating ideas on what needs to be changed or added. I've come to accept and expect this period of downtime and, as a result, am now much happier with the project. Anyway, if you're thinking about starting an OSS project of your own, its something to think about.

This discussion has been archived. No new comments can be posted.

Answers From a Successful Free Software Project Leader

Comments Filter:
  • "What is your favourite dip?"

    Oh, Nagios !

    Sorry, I was reading that wrong . . .
  • ... to hear from a programmer who still has a job!
  • Sarcasm (Score:5, Funny)

    by Natchswing ( 588534 ) on Thursday January 09, 2003 @12:11PM (#5048184)
    --
    6. Free software
    By Natchswing

    Since your software is so successful, have you thought about charging money for it?
    --

    Actually, that was meant to be a sarcastic joke aimed at making a few people laugh, not a serious question that actually got sent.

    Successful free software... charge money for it...

    *sigh*

    • Was it? Was it really?

      I think in some way, you knew he had thought about it, and you wanted to expose him, expose him I say. .... If it's any consolation, I didn't get the joke either.
  • ... over from the Dark Side of Microsoft products!

    Read one of his Usenet posts [google.com] about printing difficulties with Windows 98 machines.

    Who knows, maybe it was that very problem that brought him over to start writing software for us Free/OpenSource folks!
    • Out of the frying pan and into the fire.

      Yay!

      • What were you and I discussing about trolls and flames with OS bias?

        *grin*
        • What were you and I discussing about trolls and flames with OS bias?

          Aw, c'mon. It was a joke. It's funny, laugh =)

          [BTW, sorry for not following through with our other conversation. I completely forgot and I you just reminded me of it. If you want we can continue in your journal or something]

          • I was continuing the gesture. =P I thought it was funny, but I caught that serious edge in there. ;P

            Regarding keeping it going, email me: duckmanins@hotmail.com. I'd love to hear what you think of my last reply.
    • Yeah, I've never had any printing difficulties under linux. /SARCASM
    • Yeah, I never had any printing issues with linux.



      I'm being sarcastic, btw.


      • I've setup Linux to run off of a printer on samba share (an HP laserjet), an officejet at home, and a lexmark z53 that I have on my desk.

        I found it just as easy to set up as on Windows.

        I won't say that my experience will be everyone's, but 3/3 ain't bad.
    • by Havokmon ( 89874 ) <rick@NospAm.havokmon.com> on Thursday January 09, 2003 @01:00PM (#5048508) Homepage Journal
      Read one of his Usenet posts [google.com] about printing difficulties with Windows 98 machines.

      Being a big fan of Pegasus Mail myself, and on the mailing list on and off for about 7 years, I can say that I've seen this question ask MANY times. Pegasus Mail likes to load the printer driver to view an email. Don't ask my why, but it does. In Netware, this works just fine. It also works just fine if you capture //server/printer to LPT1. But, if you do a straight map to //server/printer, sometimes Pegasus Mail just doesn't want to display the message.

      I have come across this a few times in my Netware environment (which, IMHO, Pegsasus Mail was MADE for), but only when also using funky MS Networking and UNC printer mapping.

      So no, it's not REALLY a Win98 issue, it's a Pegasus Mail issue.

  • by BigGar' ( 411008 )
    That was a great response. Very interesting. Ethan put a fair amount of work into his responses. Kudos to him and thank you for the interview.
  • by urbazewski ( 554143 ) on Thursday January 09, 2003 @12:29PM (#5048302) Homepage Journal
    1. Spend time mulling over and planning new features
    2. Code, debug, document
    3. Detest everything about this project and do nothing at all
    4. Rinse and repeat...

    Ha! That's a familiar cycle to me, not just for coding, but for lots of projects that involve intense concentration. Fine if you work on your own, or in an environment where you have substantial control over your own time like academia --- harder to manage in a more structured environment. Maybe this is one reason for the success of open source, it readily accomodates this kind of nonlinear effort and progress.

    The trick is knowing when to give it a rest or pass it on to someone else, and when to give yourself a kick in the butt to get back to work.

    annmariabell.com [annmariabell.com]

  • Hopefully I got the attributions right.

    bhsx:

    I feel that making proprietary changes to GPL code that you keep (at least temporarily) proprietary is a great business model for certain projects, possibly the best model for certain things.

    Ethan Galstad:

    I would be willing to do work for a company that wanted unpublished changes made to Nagios if the final product was marketed in a way that didn't violate the GPL. An ASP that might use the modified app to sell a service rather than the actual software itself would be a good example of this.

    I'm no GPL expert, but doesn't the GPL legally disallow proprietary changes to GPL'ed code? And I thought that there was an upcoming GPL change that was going to address the "ASP using GPL code for profit" thing? Anything happen with that?

    -(())

    • "Redistribute" is the key word. If you make changes to GPL software and only use those changes inhouse, you have no obligation to share them with anyone. It is only when you start to *distribute* the modified software that you are obligated to provide source code, not just binaries.

      - Robin

      • Ok. So you have to provide source when you redistribute.

        One thing I could never figure out, though, is this: If you only release (i.e. sell) some modified GPL code to a few sources (i.e. customers), then are you obligated to provide source to the public at large, or just the few customers?

        -(())
        • The way I've understood it, you only need to provide sources to those few customers. However, you'd have to give the freedom you've got with it in the first place as well. I.e. the GPL-license. That means that the customers may redistribute the software any way they like, for free or at a charge (and of course, under the terms of the GPL).
    • I'm pretty sure that since he is the original author (and copyright holder), he is free to release an alternate version with any license he sees fit...

      It is derivative works, I believe, that are covered by copyleft.
    • The GPL does not disallow proprietary changes to software. It merely requires those changes to be distributed in the form of source code IF the company distributes the binaries.

      If a company does not distribute their GPLed binaries, they're under no obligation to distribute the changed source code either.

      Thus, an ASP would be fine - they're selling temporary use of the program, not the actual binaries, and thus they do not need to share the source.
    • To my understanding, he can choose to do custom work for a specific person for money, and put that code under the GPL. He then transfers it to that other person, along with the source code. He simply doesn't transfer that version to anyone else, thus keeping that code branch private.

      That entity must provide all the code to anyone they sell the product to, but if they just USE the product, either internally or to provide a service to others, they are not obligated to distribute the custom source code to anyone.

      Almost all current GPL licensing says "you may use GPL version 2 or, at your option, any later version", so anti-ASP clauses added to the GPL won't apply to the bulk of existing code.

      Personally, I don't see what the ASP issue is... yes, people are using GPL code to roll out a custom solution to something, but they're selling the solution, not the source code. I regard this as a form of support, which is supposedly how one makes money with GPL software. The ASP is selling the expertise to roll everything together into one coherent system.
      • they are not obligated to distribute the custom source code to anyone

        The drawback to use of GPL'd code like this in business is that if a firm pays a large sum to acquire custom (but GPL'd) source code, and if, through means unknown, a competitor happens to come to possess a copy of the same GPL'd code, the GPL apparently makes all copies legal, wherever they came from. Perhaps the company that paid for the code can sue or prosecute someone for distributing the code, but if they can't identify the person or can't produce sufficient evidence of the misappropriation, what recourse could they have under GPL? None (AFAIK). And they must live with having paid-for custom code in general circulation regardless. After all, whoever has received it, 2nd, 3rd, or nth hand, received it with a valid license (GPL) attached.

    • AFAIK the copyright owner can always rerelease a work under different terms. He owns the copyright after all.

      But as he said he's not doing it because of potential conflicts of interest. If he writes a feature for a private release and later wants to put a similar feature in the GPL release there could be problems.

      Even if he rewrites the thing from scratch things can get nasty. They don't have to believe you, plus if he rewrites a similar feature, it's bound to look very similar unless he did a bad job the first time round.

      And having to rewrite the thing from scratch is also a pain, especially if you've figured out a pretty good way to do stuff already.
  • Just implemented (Score:5, Interesting)

    by Dunkirk ( 238653 ) <david&davidkrider,com> on Thursday January 09, 2003 @12:37PM (#5048359) Homepage
    And it was a SLAM DUNK!!!

    As an admin for a large engineering campus in a mutli-billion dollar company, I - with 3 other people - help oversee a mixed Unix and Windows environment representing about two dozen servers with several hundred clients.

    I set up Nagios at the end of last year on an unused dual PII 266. I configured monitoring on 17 severs, both Unix and Windows. I was a little nervous about the "third-party" Windows service, but it's pleasantly been the best part of the system, since it ties up all the client-side stuff in one "script." In all, I currently have 50 services being monitored.

    The corporate Windows group has had a $250,000 project on the books to buy some sort of all-in-all monitoring software for the 100 or so servers they have. This has been pushed back for 4 years because of budget issues. I suggested they try this. I have heard nothing.

    The corporate Unix group recently put in a quarter million dollar system (which I was told would take 3 months to setup when I was in the group), but it's primarily running batch jobs for the Oracle system. The Unix admins haven't used it for anything.

    In features, Nagios rivals what both groups are still just TALKING about doing, because I didn't have to wrangle $250,000 out of the non-existant IT budget for the project. Plus, it only took me 3 weeks to get everything configured. (Compiling the client-side tools on AIX and Solaris took a lot of work. I ended up just downloading pre-compiled versions for Solaris.)

    Not only that, but the true value of OPEN SOURCE software finally dawned on me. I took the FlexLM monitoring script, hacked it up into a PHP web page, and now the admins and users at this campus can see who has a license tied up on 19(!) different software packages we use.

    My boss and co-workers both really like the system. It cost me nothing but a man-month of time (including hacking up the web page). It's been ROCK SOLID. It's been giving us appropriate alerts when something goes wrong. It's easy to set up the web site like you want. (You might have to recompile the CGI's to make some tweaks, but this isn't hard.)

    Going forward, I plan to try automating some problem resolution steps on the one service that routinely gets wonky (guess which platform THAT one's on...). Also, I'm thinking about putting a modem in the machine, and trying some of the packages out there that would allow me to send a page over a phone line in case the network goes down.

    Overall, I can say nothing - absolutely nothing - bad about Nagios. I haven't even read the interview yet because I was so excited at the opportunity to share my experience, but I know that Ethan MUST be a very fine person! ;-) Awesome stuff, and I am SO thankful that he open-sourced it.
    • Very informative. =) Thanks

      Maybe you should go make a page at http://osi.org/switch/ =P
    • I work for a University computing center, and I was amused when the guy setting up Nagios for our network didn't know that Nagios was being developed at our school.

      We have 73 hosts in our setup, and phone paging to our on-call phone. Things have been working really well.. the only thing we have yet to setup is the passive monitoring so that the linux cluster (behind firewall) can send status to the central paging server.
    • Great story. In an ideal world your company would pay the author 50K and roll out Nagios everywhere. They would save half a million dollars and get a nice monitoring system.

      In the actual world they will spend the half million and buy a piece of software which will never work as advertised and they will ditch it in two years when a new salesman takes the CIO out to dinner in a strip club.
  • success (Score:4, Interesting)

    by dirvish ( 574948 ) <dirvish@foundne[ ]com ['ws.' in gap]> on Thursday January 09, 2003 @12:47PM (#5048433) Homepage Journal
    a Successful Free Software Project Leader

    I wonder what makes a Free Software Poject successful. And given such a definition what percentage of Free Software Projects are succuessful?
    • Re:success (Score:2, Insightful)

      by stevey ( 64018 )

      I guess there are free definitions of an open source success.

      1. People recognise your project's name - Samba, Apache, Squid, Snort, etc.
      2. People recognise you, Linus, RMS, Theo, etc
      3. You have a decent sized userbase.

      I'd be happy with number 3 on it's own if it came down to it.. Personally my project has a name which some people may recognise, (and is included in some distributions), my name probably isn't that (in)famous, but the userbase I have is enough to give me the fuzzy feeling..

  • A question (Score:3, Insightful)

    by The Bungi ( 221687 ) <thebungi@gmail.com> on Thursday January 09, 2003 @12:52PM (#5048451) Homepage
    Money talks. If there's no money, people might not talk. [...] Otherwise you are at the mercy of the generosity and availability of the people on the mailing lists.

    Now here's one of the things I've never been able to figure out. How can it make sense to build good, solid, complex software that's supposed to be free (beer, speech, whatever) and then say "here it is, it's free. But if you want to figure out how to use it, pay up". You can download it, see the source, modify it, redistribute it, dress it in polka dots, etc. But if you can't elucidate out how to actually be productive with it, well, tough cookies. I'm not bitching about the fact that I have to spend money to figure out Nagios or whatever. After all, nothing is really free. But I find it hard to grok the logic behind it all.

    How is that better than selling the software and including the support as part of the package? Because it's "more moral"? How does this model make open source a viable alternative to commercial software?

    It seems to me most open source/free software is essentially an ego trip for the developer (and to be honest, as one, I can understand the motivations so I'm not saying that to be insulting or derisive). But software like this that is potentially extremely useful but just sits there and does nothing because only four people in the world understand it is not particularly useful. How many open source projects are in this situation and thus basically stuck because of it? Do the end user(s) always have to be just an afterthought?

    • Re:A question (Score:1, Insightful)

      by Anonymous Coward
      Look at it this way...

      Let's say you design a solar powered vehicle that rivals gasoline powered in speed and torque. You then decide to release the plans on the internet and setup a mailing list so that people can exchange ideas and ask/provide each other with assistance in building one. If someone posts a message that says "Bungi, my car won't work, can you come and fix it for me?" would you be willing to do this on your own time at no charge? Should we expect you or anyone else to do so?
    • Re:A question (Score:5, Insightful)

      by extra88 ( 1003 ) on Thursday January 09, 2003 @01:46PM (#5048816)
      OSS developers are not saints. They write their code for fun, prestiege, practice, whatever. It's very uncommon for programmers to like doing that and doing things like writing clear documentation, especially for people who lack any skills which would make figuring them out on their own possible. So why should OSS developers spend a lot of time (and if it's really going to be good, it'll probably take about as long as writing the code does) if they don't like it?

      When no intrinsic benefit can be found, resort to an extrinsic benefit, money.

      In the particular case of Nagios, he repeatedly states that it's designed for sysadmins. Anyone who deserves the moniker of "sysadmin" should be able to figure it out based on the provided information [sourceforge.net]. There are many people who have the title of "sysadmin" but do not have the accompanying skills. That could be why someone can't implement Nagios using the providing information but it's also a problem which goes well beyond the scope of anything those involved with Nagios can solve.

      What OSS developers *could* do is seek out people who *do* enjoy creating FAQs, HOWTOs, tutorials, documentation, etc. (such people do exist, I sort of am one). In general it seems such things come about either because someone comes to the project and just decides to do it or does it to benefit their own organization then makes publicly available. How often do developers solicit such help? What are the best venues for doing so?

      Not being personally involved with any OSS project myself, I am to a degree talking out of my ass. I welcome anyone with more personal experience to say so and provide evidence :)
      • I understand what you're saying here but Nagios is billed as a replacement for a product like Unicenter TNG, with which I'm familiar. CA goes to great lengths to ensure that even the most technically impaired data center operator can use it. Ergo, Nagios is really no competition unless you already have the expertise and you're going for it to save the money, which also makes sense, of course. But that's not the point.
        • How much does Unicenter cost?
          • How much does Unicenter cost?

            A crapload of money. I don't know the exact figure for site licensing since I'm not involved in purchasing or anything like that.

            But what does that have to do with anything?

            • Well I'll quote you.

              " I understand what you're saying here but Nagios is billed as a replacement for a product like Unicenter TNG, with which I'm familiar. CA goes to great lengths to ensure that even the most technically impaired data center operator can use it. Ergo, Nagios is really no competition unless you already have the expertise and you're going for it to save the money, which also makes sense, of course. But that's not the point."

              I really tried hard to parse that sentence and even read it a couple of times and If I may rephrase you you seem to be saying.

              Nagios is not as good as Unicenter and it's documentation is not nearly as good and yet somebody (who?) is billing it as a replacement for Unicenter.

              Now I don't know who is going around saying that nagios is a replacement for unicenter because I have never heard and the author admits that unicenter will always do more then nagios and will always be better then nagios. Given that unicenter will always be better then nagios the only remaining criterea is price. If unicenter cost a few hundred bucks then maybe it would be worth it to pay the money and save the headaches but if it costs "a crapload of money" then you have nothing to complain about.
        • Did you even bother read Ethan's responses? I quote:


          I've only had a cursory look at TNG and OpenView, but I think its safe to say that they will always do more than Nagios. That's okay though - they'll cost you a bit more than Nagios will too. I have no intention of trying to make Nagios a "one app for everything" type of project.


          Nagios most certainly is not billed as a replacement for TNG. It's still a damn useful product though, and even more so given its pricetag (or lack thereof).


          Someone else said it, and I'll agree: if you actually have the skills to match your System Administrator tag, the documentation explains pretty much everything you'll need for day-to-day operation of Nagios. If you have some exotic requirement, you either figure it out yourself (after all, you have the source, and you're getting paid to show some initiative, right?), or you find a company who'll do it for you and pay some cash.

    • Re:A question (Score:5, Interesting)

      by Lumpy ( 12016 ) on Thursday January 09, 2003 @01:58PM (#5048922) Homepage
      How many open source projects are in this situation and thus basically stuck because of it? Do the end user(s) always have to be just an afterthought?


      I'm posting AC for a reason, as this happened very recently to me...

      you are 100% right... but not always...

      I was looking for a nice router package to help a non-profit company use some resources I am donating to them. I first went to LRP... oops they died, all I find are tombstones.. but coyote linux is a repackaged LRP that still has some maintaince base.

      The developers of coyote linux are pure jerks and egomaniacs. asking simple questions get's you insults and asking why the documentation is not easily found get's the main developer into a anger frenzy as he must hate with a passion the people that wrote the docs and FAQ, and other irrational behaivoir that reminded me of a 8 year old boy having a hissy-fit.

      The other side... freesco.org a seperate linux-router group that bent over backwards to help. reading the posts in the forums show that all the freesco people want to help in any way and love suggestions complaints, etc...

      so the problem is with jerks running a project like coyote linux or true professionals with skill like freesco linux.

      the netsaint group are just like the freesco people.. awesome! but in some cases you cant get an answer... so having someone to pay to figure it out for you is a good alternative.

      It seems to me most open source/free software is essentially an ego trip for the developer but there are many that are NOT.. and those are the projects you need to support.

      Me? I will tell everyone I know to AVOID coyote linux and to use freesco. and when asked why, I responded with, "freesco is from professionals, coyote is not."

      if you feel professional to your users, you become professional. if you act like jerks, well... you get the picture.
      • Re:A question (Score:3, Insightful)

        by The Bungi ( 221687 )
        I'm posting AC for a reason, as this happened very recently to me...

        No you didn't =)

        if you feel professional to your users, you become professional. if you act like jerks, well... you get the picture.

        I can't disagree with you here. I've been using Linux for a few years on and off and I've run into the worst and best out there while looking for information about things like drivers, APIs, etc.

        But I think for the most part the folks that work in open source projects are, if nothing else, very smart and mostly helpful. The situation you describe here (at least in my experience) is definitely a bit extreme.

        • I'm posting AC for a reason, as this happened very recently to me...
          No you didn't =)


          I know I forgot to remove that line as I decided that If I have something to say I need to have the guts to put my name behind it... Ooops forgot to hit that preview button!

          Yes.. I do agree, the Mozilla team, the Open Office team, MOST projects I deal with are full of real pros that shine. But it's the bad apples like coyote linux's current handlers that do more harm than good to Open Source..

          Basically, look in the forums first.. if you dont see calm and good help then avoid it.
    • It's simple. I get to decide what I provide for free. If you want control over what I do, you have to pay me.

      On my projects, I always try to be clear - so that people don't _have_ to ask questions. However, since it's my time, if I don't have enough time or patience to answer your question, that's my decision. If you want to pay me, I'll answer even when I don't feel like it.

      Most software (including NetSaint) is easily understandable, and comes with good documentation. However, if for whatever reason, you don't understand the documentation, you can ask a question, but to get an answer for sure you pay for the time someone spends answering you.

      I don't see how this is anything but reasonable.
    • 1> With proprietary software you can only get real support from the company that made it. If MS doesn't want to fix a bug in Windows that's killing your business, tough shit, you're screwed.

      2> With OSS any professional coders/firms can offer support, because they have source code access and the rights to modify it.

      It's about being free from a vendor tie-in, which is a good thing because vendors are unrealiable. Even if your vendor is good today, it can turn to crap tomorrow.
    • Re:A question (Score:4, Insightful)

      by IamTheRealMike ( 537420 ) on Thursday January 09, 2003 @02:08PM (#5049004)
      Now here's one of the things I've never been able to figure out. How can it make sense to build good, solid, complex software that's supposed to be free (beer, speech, whatever) and then say "here it is, it's free. But if you want to figure out how to use it, pay up".

      I don't know of any open source projects that do that, do you?

      In fact, Nagios provides documentation. What you're talking about is support, ie somebody who will spend however long it takes working with you to get your problem sorted out. Pro level support is very different from writing documentation, and asking people to pay for it isn't unreasonable, it's what Red Hat do for instance.

      No, not all open source projects have quality docs. If they don't, then write some! I've done that [mozilla.org], took me about 40 minutes, plus a few emails to correct mistakes and get it uploaded. Nothing to it. Every little bit counts you know.

      It seems to me most open source/free software is essentially an ego trip for the developer

      Oh hardly, most open source software is written to be useful. It's a charitable contribution remember, if it didn't exist you'd still have to pay for commercial equivalents. If you don't find it useful for whatever reason, you can help make it useful, or you can go elsewhere. Complaining about it doesn't write docs though.



    • The Bungi wrote:

      Now here's one of the things I've never been able to figure out. How can it make sense to build good, solid, complex software that's supposed to be free (beer, speech, whatever) and then say "here it is, it's free. But if you want to figure out how to use it, pay up".


      Usally with any software development, the first challenge is to create something that does what it should. This can take a lot of time and resources, usually at the beginning of a project.

      Once the the product is more or less done, users (for commercial software: customers) start trying to use it and the second after it start complaining and crying for changes, manuals, training materials etc.

      Most developers like part one, but hate part two.

      For commercial software, the developer has a contract with the customer, which he needs to fullfill. This entail usually listening to whiny users, providing detailed guides on how to wipe the backside to inept users etc.

      With free software, the user gets the stuff as it is. If the user's happy, fine - if not it's fine too - if the user breaks it, he owns both halves of it. There's no obligation at all from the developer to the user. This is the big luxury free software developer have by not charging for their software.

      If some user want more help than provided by the develppers generosity, he should go out and pay someone to care, a consultant or an independent software developer.
    • Jeebus man, pay a little more attention to what you're doing. =P

      Most open source stuff is not difficult at all if you read the free docs. And yes, most of them have them. I'd know; guess what I work with all day?

      And that's besides the point. To answer what you're asking about, OSS is open so that developers who are interested and have the time to ADD to the project can ADD to it for free. In that situation, it benefits everyone -- some developer gets a free source-base to begin from without having to start from scratch, and the OSS project manager gets the ideas and help from the new coder. The project manager puts more into it in the long run, but these are the folks who have a real passion for what they're doing. I can personally attest to that.

      In the long run, for people who don't want to put the effort in to learn what can be, but often isn't, a complex system on their own, they have to pay. If, on the other hand, they could find a closed source project that was easy to understand, the situation is even. This situation just allows for people to add features and hack things for free, which in the end, often grows the developer-base to one much larger than a corporation would have, one which doesn't care about a bottom line and thus does things right.

      If you think I'm blowing smoke up your arse, I seriously hope you get a chance to meet some serious OSS developers.

      Reply. I want to hear what you think. Take this point by point, if you have the time. =)
      • Re:A question (Score:1, Flamebait)

        by The Bungi ( 221687 )
        Jeebus man, pay a little more attention to what you're doing.

        Oh, great. My conscience =)

        Most open source stuff is not difficult at all if you read the free docs. And yes, most of them have them. I'd know; guess what I work with all day?

        Some stuff, yes. Some stuff, no. Whereas with commercial software, most stuff yes, because otherwise you just don't freakin' sell it.

        To answer what you're asking about, OSS is open so that developers who are interested and have the time to ADD to the project can ADD to it for free. In that situation, it benefits everyone

        Non-sequitur. I'm not asking with what makes OSS tick, I already know that, and it's certainly an interesting model as far as the software development process goes.

        one which doesn't care about a bottom line and thus does things right

        Now you're just going into wishful thinking mode. Agree?

        If you think I'm blowing smoke up your arse, I seriously hope you get a chance to meet some serious OSS developers.

        No, I don't. But again, you're missing my point. I'm not questioning the motivations or the driving forces behind software like this.

        Reply. I want to hear what you think. Take this point by point, if you have the time.

        Your turn =)

    • I don't know about you, but free mailing list support is often better than commercial support. Sometimes you get a useful response within minutes.

      As compared to getting an immediate but useless front line commercial response and having to wait a day or so for a useful response. I'd expect by the time a competent geek has to resort to calling support, front line support is usually a waste of time.

      With free support:
      1) If nobody knows how to fix your problem, you don't get a fake answer.
      2) The ones who bother to answer usually are the ones with a clue. They don't have targets to meet etc, no buck per question answered. Just the satisfaction of helping someone, or ego trip (doesn't matter which, the bias is towards decent answers).
      3) You can easily filter out the ones who keep answering without a clue.
      4) You typically get support from people who actually use the product.
      5) There is far less tendency for denials when something is really broken (commercial pressures sometimes force support etc to play down "issues"). Before you pick a product look at the list archives, for good/bad responses from the developer(s) - that way you can confirm if the product is unmaintainable (check the source too).

      Since we use the product for free, why not help provide free support to others using the product when we can? If you know the answers to some questions, you can chip in from time to time.
    • I believe that it's people's inclinations. There are many who like to code, but very few are the ones who take pleasure in answering lusers' questions.

      That said, I never had a problem with free software support. Everytime I couldn't figure something out from the documentation someone helped me in mailing lists.
    • The key word in all that is "complex".

      Much software is basically bloody complicated, not because of screwups by the coder but just by the nature of the problem it's solving. Even word processors with an "intuitive" user interface take a while to find your way around, hence there are books like "Word for Dummies" (is that ever a true title! ;-) and the like, although every effort has been taken to make the interface easy to use.

      Although books and courses say "here's how to use XYZ package", what you *really* learn (if you're doing it right) is the nature of the underlying need that the software is meeting - all the rest is just button-pressing. Learning how that kind of stuff works takes time, so you can either dedicate a bunch of time yourself to do it, or you can pay someone who's already got the skills to come and do it for you. All the information's available, the only issue is whether you have the time/inclination/skills to use it. And that's a decision you've made for yourself.

      Of course, you do need to make sure that the information for experienced ppl *does* exist, otherwise no-one will be able to use it at all! That's where things die in the "four-people-in-the-world-understand-it" oblivion...

      As far as the "viable alternative" goes, that comes from having this stuff available and anyone else being able to add things to it. If you want another status window, you can put in a suggestion and maybe someone will pick it up, in both OSS and closed-source. But in OSS, if you're a good coder then you can add that status window yourself. The "moral" issue is with the control of the original software, not with the support of it.

      Grab.
    • You don't have to spend money just to "figure out how to use it". Thousands of admins use Nagios just fine without any support (free or otherwise).

      This person has a specific problem that few other people have. It is an extraordinary requirement and as such he'd be better off hiring someone to help.

      If I had modpoints, I'd mod you a troll.
    • This sounds like a great money making opportunity for you. You could write the definitive documentation for this project and sell it. This way you can actually piggy back on the labor of all those programmers without actually contributing anything back to the project.

      You make money, they code, it's great isn't it? Sure beats whining about the lack of documentation.
      • Sure beats whining about the lack of documentation.

        I'd appreciate it if you refrained from insulting my intelligence by suggesting I'm "whining" about anything. RTF post again.

    • Documentation is available. Plenty of people have been able to figure it out. In the case of that particular question, and this is true of probably 50% of requests for help I've seen on newsgroups and mailing lists, the person asking just doesn't want to take the time to actually read the documentation and find the answer for themselves.

      Also of great importance is the attitude of the question, which I will repost with apprpriate highlighting:

      I an running Nagios and having a major problem with one of the plugins that is severe enough to make me throw out the software if I can't get it working.

      I've asked on the two nagios mailing lists and received no answer. How do I, working for a major corporation, promote this software package if there's nobody that can help me fix it? Where do I look for support for a free product?


      He starts off with demand phrased as a threat: "help me or I won't use your software." This software is written for free, and maintained for free. If you're giving something away for free, and someone gets up in your face and starts demanding from you and threatening you, I'm pretty sure your response is going to be something like "hey, I'm doing this for free and I don't need your bullshit." Ethan obviously doesn't need the money, so he offered a list of people who would be willing to put up with sys$manager's bullshit for an appropriate price.

      Added to that, sys$manager then starts trying to throw his weight around, saying he's with a major corporation, so you'd better help me because I'm important. More bullshit, see above.

      So, we have someone who can't be bothered to read the documentation, and even though this is for a major corporation they demand assistance for free "or else". I think the response was totally appropriate and extremely diplomatic.

  • CA released Unicenter 3.0 [ca.com] in August 2001. You shouldn't compare a project in development to a product that has already been superseded.
  • admirable quote (Score:2, Insightful)

    by EZmagz ( 538905 )
    I actually started to work on Nagios because a friend and I had talked about starting a part-time business to provide monitoring services to local businesses. I didn't like what I saw in the other monitoring apps, so I decided to write my own.

    Quotes like this give a pessimist(sp.) like me a bit of hope in the world. The guy saw something that he liked, but noticed several flaws (read: expensive, propriatary, etc.) in the product, so decided to build his own from scratch! I mean, come on...this is admirable. People (at least around here) tend to bitch a LOT about things in the world around them, yet offer no alternative or solution. Granted, sometimes it's so macroscopic that you can't do something that helps the world out significantly (think traffic, politics, etc.). However, it's nice to see that there's still a few people in the world who aren't afraid to get their hands dirty because they don't like how something works.

    Kinda makes me wish I had that one thing...shit, what's it called? Motivation? Yeah, that's it. Maybe they have it at Target.

    /me runs down the street to Target

  • Nagios (Score:4, Informative)

    by ISPTech ( 76854 ) <(moc.oooooooohay) (ta) (151hcetpsi)> on Thursday January 09, 2003 @01:22PM (#5048659) Homepage
    Nagios is really nice. I've used it at 2 ISP's now and it is amazing how fast you can deploy it and how reliable you can make it. The plugin design makes it expandable beyond belief, and you can fine tune it to where it is much more reliable and quicker than a tech support phone call at 3 AM (...something is broke. We don't know what...but...)

    Ethan has always been cool about responding to feature requests and reasonable questions about nagios from what I've seen.

    For the people who mailed the mailing list and didn't get a reply though, standard mailing list rules apply:

    1. No one is required to help you. (this program is free)

    2. If you don't submit enough information to help you, the list doesn't have to ask you to clarify. (silence may be your indication)

    3. Did you read the documentation? Did you reread it? Did you understand it? If the answer to any of those is no, you might not get a reply.

    4. Are you asking something that is truely unique to your situation? Most times this means it is something you are tasked to come up with. The list isn't required to do your job for you. If the request is from out in left field and doesn't affect a mass group, your chances of getting a reply are slim.

    For the last one in particular I would like to add that our job as sysadmins (even if you are not paid for it) is to come up with (read: create) solutions. Don't get frustrated if someone else doesn't hand you a solution on a silver platter. You signed up for the job.
  • Marketing (Score:5, Interesting)

    by IamTheRealMike ( 537420 ) on Thursday January 09, 2003 @01:52PM (#5048877)
    That's a good question. However, I can't say much about this, since I really haven't had to deal with it. Nagios is targeted towards sysadmins, so they hear about it by word-of-mouth, Freshmeat, Google, etc. Most OSS project operate with no ($$$) budget, so traditional marketing methods are probably out of the question.

    This makes sense, but often open source projects don't need marketing as such. Marketing was originally used in the commercial world to get ahead of the competition - by actively telling people, even people who might not be interested about your product, you could get mindshare. Then everybody started doing it to catch up, and now marketing is regarded as essential.

    That's sort of a shame, but there's no reason why 99% of open source projects actually need to market themselves - they don't need to make money, so it makes sense for people to actively search them out, for the users to find them rather than the other way around in effect. Of course there is still word of mouth, which is a bit different, in that people are asked for recommendations and give them.

    You might be thinking that's a bit hypocritical coming from me, considering that I've been advertising my project in my sig for a while now. I do that not because I want everyone to use my software (though that'd be nice one day) but because it's a flipping huge task that needs to get solved soon (imho) for desktop Linux to make any progress. So I need developers. The text advert in my sig has helped enormously here, 3 out of the 5 volunteers currently on the project came here via Slashdot, and we get a lot of interest/emails from people who find it this way. We're making great progress now, more than I'd be capable of working on my own, or with one person who found it by accident.

    On the other hand, I'd consider this to be a special case. If I was writing a sysadmin utility, or an MP3 player, or a media streaming framework, or pretty much any other piece of software in fact, I'd have deliberately decided not to advertise in such a way. It's slightly obnoxious for starters, advertising is invasive (and i try to make my sig stand out) and often irritating. I'd just post it to freshmeat, and tell my friends about it. If it was good enough, it'd spread by word of mouse. But in this case I decided it was important enough to justify it......

    Of course Ethan was talking about advertising to users, which I still maintain isn't really needed for free software, and I don't intend on advertising to users at any point. If they come across .package files and like them, they'll find the project in that way, or via recommendation, or via articles people write about it, or one of the countless ways in which people can discover new things.

    • I'd have to disagree with you. Sure, if you don't give a flying flip if anyone ever uses your project, then advertising isn't really important. But, the fact is that every project owner does want people to use their project and many feel that the more the better. You for example, would enjoy the added noteriety. No? Imagine how great you would feel if your project had the noteriety of Apache. Pretty good, eh?

      Advertising can be invasive and offensive, there is no doubt. Especially bad advertising. This could be a poor quality TV commercial, or a good commercial that is repeated 15 times an hour, worst of all is obviously spam but, the fact is that most decent advertising works at least a little bit. I hate to use dot bomb speak but, marketshare comes after mindshare. If no one knows about your project then no one will use it, regardless of how good it may or may not be. For open source projects advertising offers a great benefit in terms of mindshare.

      There is another angle as well. That is, the whole open source "movement". Dispite its popularity amongst the Slashdot free loaders, most of the world hasn't heard of open source or even Linux for that matter. If the open source movement is to gain momentum then more people need to know about it. This is where advertising comes in.

      You speak of Linux on the desktop, what are the chances of this happening soley from word of mouth. I'll tell you that chances are slim, certainly for the short term. Almost no home users have heard of Linux and many, perhaps most, businesses haven't heard of it either. It can't take over the desktop if no one knows about it but, if you throw in some advertising then more people will have at least heard of it. They may not know what it is but, they may try to find out what it is if they have heard of it.

      Advertising is important, even in free software and advertising works. Think for a moment about how many Linux users there would be if AOL simply mentioned Linux (in a positive light) in their constant barrage of television commercials. Just a simple plug like someone saying, "I like Linux".

      People here, like to talk about Walmrt selling Linux machines. Believe me, it is a miniscule market. Why? Because they are selling them in their online store. Most Walmart shoppers buy at their local store, not online. Therefore, most Walmart shoppers have never heard of them. And, Slashdotters build their own so they aren't buying them either. If Walmart sold these boxes in their local stores and, more importantly, advertised them then hundreds of thousands (maybe millions) of people would become aware of them.

      Nagios has been classified as a succesful project based on its wide spread use. Yet there are countless Slashdotters that had never heard of it prior to this interview, many of them sysadmins. Imagine how wildly succesful it would be if it were advertised and more people knew about it.

      Open source needs some marketing, and it needs it now.
      • You for example, would enjoy the added noteriety. No? Imagine how great you would feel if your project had the noteriety of Apache. Pretty good, eh?

        Sure, that'd be good :)

        Open source needs somthe e marketing, and it needs it now.

        Yep, agree totally. I was talking about advertising individual apps separately though, not open source in general. I'd love to see proper ads for Linux in general on TV, in the cinema etc (well, not yet, we're not prepared for world domination yet), until it had the mindshare.

        I've often thought a simple, coordinated campaign that has revolves around a piccy of Tux, with the words: "Linux : Get Ready", "Linux : Power to the People", "Linux : Computers will never be the same again", "Linux : Revolution" or something along those lines underneath in a simple, bold font would be pretty cool. Memorable, mysterious....

        The fact is, it's practically impossible to communicate even a tenth of what somebody needs to know in order to make sense of free software in the space you have in a traditional media advert, so the best campaign would be to get people asking "what is linux?" and then people who hopefully know what they're talking about can fill them in. People tend to trust opinions they get via word of mouth more anyway, so that'd be a good way to combine the strengths of both forms.

    • Re:Marketing (Score:2, Interesting)

      You make some interesting points but allow me to share a problem that I am experiencing at the moment. I work for a large Australian bank as a project manager. My team is dealing with a particularly tricky vendor who has a virtual (in the traditional sence) monopoly on the market for fixed income treasury ststems. The vendor is slow to respond to service calls and their application (IMHO and experience) sucks ass. We don't have an alternative except to build a solution ourselves. I am quite keen to go the second route. I am convinced that we could build something for what we pay in lincence fees to the vendor, and do it rather quickly....and then I had my brainstorm. Why not do it open source? The asolution we would need to build would have no Sale value to us, but it has trememdous 'use value'. The bank would have to spend the money to develop anyway and by releasing to a site like 'sourceforge' we may attract some developers who might like to participate. I would be driving the team here to meet our own internal deadlines and so the OSS community would have to run to that schedule, but so what? Some people will, but many wont. For the addition of one more developer (to a proposed team of 5) would result in a noticable improvement. The reason marketing would be important to this venture is that i would seek to make the project known to the other major banks in Aus and around the world. If enough organisations take up the software we produce, then interbank communication could theoretically be improved, leading to cost savings for all. The other ancillary benefit would be to break down an overcharging monopoly or force them to change their model so that they are more competitive. To be honest though, software in the treasury management area should be free and available anyway. It's the grunt work of banking and most systems are basically the same, performing almost identical functions. So, in a situation like this, marjeting to users is important, at least until you get people involved. Then word of mouth would take over, I guess. Now, the other problem is convincing my bosses that giving away IP that they have paid for will actually result in quantifiable, bottom line benefits....Many of you may as well exhale now!! ::Faded
  • When I feel I've had enough and can't stand the project anymore, I just stop answering email, stop coding, and stop thinking about the project. This can last for a week or four months. When I've had enough time away from everything, I can get started again. This period of disgust is also a time when I start formulating ideas on what needs to be changed or added. I've come to accept and expect this period of downtime and, as a result, am now much happier with the project.

    This is such a wise and insightful thing to point out. The nice thing about an open source project is that you have this luxury. In the corporate world, it's called a sabbatical and not everyone gets them...

  • Was I the only one who misread the title?

    I was thinking to myself, "Why would I want to hear from a project leader who never had any success? I can do that if I talk to my boss."

  • Rah, rah, open source. Nagios sounds great. Mr. Galstad sounds like a great guy.

    But how does he support himself?

    Or more generally, how do actual developers make a living on open source?

    Maybe I'm missing something, but it seems like there are only a handful of ways to make money doing oss:

    1. Be so awesomely famous that someone's willing to pay you to sit around and do your thing, a la Larry Wall
    2. Have some sort of employment situation that allows you to spend time on an oss project
    3. Have a big pile of previously acquired money
    4. Live off someone else, like the 'rents or the spouse
    5. Have a day job
    6. Sell consulting
    7. Run a web site and get make revenue off the ads
    8. Live off of donations
    For obvious reasons, #1 and #3 don't scale well to the general oss development community, #2 and #4 are cushy deals (I suppose) if you can get 'em, and #6, #7, and #8 seem dubious in all but a few cases.

    That leaves #5. How the heck does anyone have enough time to have a day job, some sort of social/family life, and also run anything but the smallest of oss projects? The only thing that I can think of is that the social/family life has to go (if it was ever there in the first place), although I suppose giving up slashdot and other computer games might be a start . . . .

    Anyone care to enlighten me?

  • My latest project Tux Paint [newbreedsoftware.com] has been lucky enough to have been mentioned in 5 Linux magazines around the globe so far. I also post release announcements to the various Linux-, Unix-, Windows-, Mac- and graphics-related Usenet groups and websites out there.

    Locally, I'll have demonstrated Tux Paint at 4 or 5 different user groups (Linux, Mac, and "PC") in my area by the end of the month.

    I also have put up flyers around the community advertising this "home grown" software, to try to encourage folks in the area to participate. (So far, no participation, but I'm sure it's been downloaded :^) )

    It seems to have been a fairly successful project, so far as both general interest in using it, and interest in helping develop it (especially internationalization)... especially considering it's only about 7 months old and is gear for children ages 2.5 to 12. :^)

    It's no Apache or Linux kernel, of course... :^)

A person with one watch knows what time it is; a person with two watches is never sure. Proverb

Working...