Slashdot Mirror


How Has Open Source Helped You Commercially?

Slithe asks: "In the past few years, OSS has proven that sharing one's source code can be beneficial to both businesses and their customers. More than a few young programmers are thankful that they were allowed to learn from professional developers by browsing through and hacking on 'enterprise quality' code. My question to developers of commercial OSS is this: Have you, personally, ever benefited from having the source code to your project freely available and dowloadable, instead of being kept under lock-and-key? Have you ever fixed a bug in your spare time? Have you ever sought outside help (providing source code snippets) on a particularly nasty problem?"

36 of 96 comments (clear)

  1. open source got me LAID! by Anonymous Coward · · Score: 5, Funny

    No, just kidding, actually it didn't. Sorry to get your hopes "up".

  2. codes snippets != open source by fotbr · · Score: 3, Interesting

    Sharing code snippets to try to solve a problem doesn't really fall under open source. Most of the time snippets are shared for specific reasons, to track down specific problems, and its only the lines that are immedietly around the line causing the problem.

  3. Enterprise by dcapel · · Score: 4, Funny

    I'm glad I can learn from such quality enterprise code as this:

    http://thedailywtf.com/forums/64597/ShowPost.aspx
    http://thedailywtf.com/forums/64833/ShowPost.aspx

    Excerpt for the lazy:

    public class SqlWords
    {
        public const string SELECT = " SELECT ";
        public const string TOP = " TOP ";
        public const string DISTINCT = " DISTINCT ";
        public const string FROM = " FROM ";
        public const string INNER = " INNER ";
        public const string JOIN = " JOIN ";
        public const string INNER_JOIN = " INNER JOIN ";
        public const string LEFT = " LEFT ";
    }

    --
    DYWYPI?
    1. Re:Enterprise by Knightman · · Score: 3, Informative

      There is one good reason for defining keywords as string constants is that if you later misspell any of them you get a compile error instead of going "WTF?" and wonder why your sql-statement doesn't return the expected data.

      Ie, if you do it right it is an elegant solution to catch spelling errors which otherwise might go unnoticed, if you do it the wrong way you get unreadable code.

      --
      --- Reality doesn't care about your opinions, it happens anyway and if you are in the way you'll get squished.
    2. Re:Enterprise by DrSkwid · · Score: 2, Funny


      Yeah, I can see why you'd think that approach was much less error prone !

      sql = sprintf("%s col1, col2, col3, %s tab1 %s %s tab2 ON tab1.pk=tab2.pk %s col1=%d and col2 in (%s %s fkey %s tab3 %s col4=3);", SELECT, FROM, LEFT, JOIN, WHERE, 1, SELECT, DISTINCT, FROM, WHERE);

      res = PQexec(sql);

      > if you do it the wrong way you get unreadable code

      come on then, show me an improvement

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    3. Re:Enterprise by DrSkwid · · Score: 2, Informative

      ok my next try, a slight improvement but certainly annoying to type :

      sql = sprintf(SELECT " col1, col2, col3, " FROM " tab1 " LEFT " " JOIN " tab2 ON tab1.pk=tab2.pk " WHERE " col1=%d and col2 in (" SELECT " " DISTINCT " fkey " FROM " tab3 " WHERE " col4=3);", 1);

      Why you can't rely on the SQL logging mechanism I really don't know.
      Postgresql will emit all of the sql executed and label is with ERROR if it didn't execute. I doubt another RDBMS can't do the same.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:Enterprise by zlogic · · Score: 2, Insightful

      This is modded funny, but consider these two examples:
      1) string a = SELECT + a + FROM + b + WHERE + "param=" + c
      2) string a = "SELECT " + a + " FROM " + b + " WHERE param=" + c
      But putting it into a class that is completely isolated and doesn't have any methods (and otherwise SELECT will look like SqlWords.SELECT) is indeed insane.

    5. Re:Enterprise by ynohoo · · Score: 2, Interesting

      one of the few advatages of COBOL is that SQL sytax is clean, and not restricted by any language quoting rules. If you run into this sort of nonsense a lot, it might be worth coding your SQL in COBOL subroutines you can invoke from *insert favorite language here*.

  4. Snippet? by Solemn+Bob · · Score: 3, Insightful

    If you know the problem is in a snippet of code, you've already solved the problem.

  5. CPAN modules == $money by Anonymous Coward · · Score: 5, Interesting

    I reckon my billing rate has gone up a couple of bucks for every CPAN module I've released over the years, especially for clients where I turn up and they are already using my code.

    Not to mention that by releasing it, I get a whole bunch of people to hammer my code and find bugs, so I don't have to. It's a win-win situation!

    Of course, since it's all on public display, uploading crappy badly-rating bug-ridden slop would probably have the opposite effect :/

    1. Re:CPAN modules == $money by hackstraw · · Score: 4, Interesting

      Of course, since it's all on public display, uploading crappy badly-rating bug-ridden slop would probably have the opposite effect :/

      Unfortunately, much of the closed source stuff I've worked with is crappy poorly-written bug-ridden slop. With the bugs in many closed source apps, I would guess that under the hood there is more of the same. I find that a vast majority of the GNU stuff to be very well written, easy to understand, and relatively bug free. I'm talking "real" GNU stuff, not slop that is GPLed and thrown on sourceforge (I'm not bashing all of sourceforge by any stretch of the imagination, I have stuff there :)

      Personally, I owe my career to open source. I learned the inside out of a kernel, how to program, the whole nine yards. Open source taught me as much or more than college did. College did not get me a career.

      Now, I'm going to nitpick the original post, because it seems confusing.

      1) In the past few years, OSS has proven that sharing one's source code can be beneficial to both businesses and their customers. OK, pretty much a statement of fact.

      2) More than a few young programmers are thankful that they were allowed to learn from professional developers by browsing through and hacking on 'enterprise quality' code. OK, pretty much a statement of fact reinforced by my experience as noted above.

      3) My question to developers of commercial OSS is this: Have you, personally, ever benefited from having the source code to your project freely available and dowloadable, instead of being kept under lock-and-key?

      Yes. I've gotten job offers from it. Having the source enabled me to fix bugs in things and/or customize them.

      4) Have you ever fixed a bug in your spare time? Yup. Even when I was "working".

      5) Have you ever sought outside help (providing source code snippets) on a particularly nasty problem?"

      I guess this is where I got confused, and by the previous posts, this seems to be the problem.

      Open source is _the_ way to go. It actually should be mandatory. Also, I wish it was that way with hardware as well. Even if its a pseudo-schematic, I would like to know how things work. I have some semi-pro audio gear, and they provided pseudo-schematics and I was able to figure out the signal path and what the adjustments did. English text is not anywhere as good as seeing a signal path so I know the chain of events, just like OSS.

  6. Hmm by killmenow · · Score: 4, Informative

    Aside from your wholesale copying and posting of the entire article here---a move which undoubtedly oversteps the bounds of fair use---I will merely point you to this article on Groklaw in which I think PJ deftly points out the the errors in the Economist article, thereby leaving me with little else to say but: troll much?

  7. answers by Xtifr · · Score: 2, Informative

    > Have you, personally, ever benefited from having the source code to your project freely available and dowloadable, instead of being kept under lock-and-key?

    Do you mean me, personally, or do you mean the company I work for? No matter, the answer is yes in either case.

    > Have you ever fixed a bug in your spare time?

    Yes.

    > Have you ever sought outside help (providing source code snippets) on a particularly nasty problem?"

    Yes.

    Ok, that was easy. Next article. :)

  8. Yes, no doubt about it by I_am_Rambi · · Score: 2, Interesting

    I work for Executive Forces, a private military company. Open source has put our company on the map, at least in web presences. Our web servers are running Linux with Apache, the email server is also running Linux with postfix, dovecot, apache and SquirrelMail for web access. For a startup, open source has given us oppurtunities that we would not have otherwise.

  9. Open Source has made my life way easier by urikkiru · · Score: 4, Funny

    I work for [CENSORED*], and we use the open source app [CENSORED*] by snagging it's source, modifying it a bit, and then deploying it internally, and only internally.(We don't distribute it outside of the company, so there is no one to whom we would have to give out our source to) This allows us to [CENSORED*] the [CENSORED*], and get [CENSORED*] on [CENSORED*]. It's a profitable business, as you can tell.

    * These censored bits brought to you by men in black coats, and my NDA. Enjoy!

    1. Re:Open Source has made my life way easier by Morrigu · · Score: 2, Funny

      Everyone over here at [CENSORED*] agrees. We love using [CENSORED*] and [CENSORED*] and it's saved us loads of time and money compared to commercial solutions like [CENSORED*]. Plus our customers at [CENSORED*] like how it [CENSORED*], and the way it does [CENSORED*] too. Everybody's happy!

      * Sorry, can't tell you why it's censored. Talk to [CENSORED*] if you want more info.

      --
      "We can categorically state that we have not released man-eating badgers into the area." - Major Mike Shearer, UK
  10. Yes, but in a different way by techno-vampire · · Score: 4, Informative
    Back in '84-'85, I did some work with a genius programmer, the late Daniel J. Alderson. We were at JPL, so everything was public domain, which is as open source as you can get. As I worked with him, I watched what he did and how, and that taught me good coding practices that I've used to this day.

    As an example, take a look at the functions in the standard I/O library for C. The various scanf() and prinf() variations use much the same arguments, but each one has them in a different order. There's no rhyme or reason to it, you either have to memorize the order or look it up. Not so with the functions Dan wrote! Part of his planning for a subroutine/function package was deciding what order the arguments would go in, and they were in exactly that order every time. (Many of the routines used either the same set of arguments, or a subset of them.) I was working with him because he'd gone blind from diabetes, and in all the time we worked on that package, he never got the arguments wrong because he'd planned it out ahead of time. In this case, there were only three functions that the average user'd need, and the rest were helpers for them. Still, if anybody needed them, they were there, and easy to use.

    Now, imagine if this code were being used in a current OSS project. (Unlikely; not only is it in FORTRAN, the problem it solved had to do with command lines and batch files, mostly on a VAX.) Not only would it be easy to use, it'd be easy for somebody else to check the calls and make sure everything was in the right order. Sanity checks become quicker and there are less obscure bugs caused by misordered arguments. He also kept his variable delcarations alphabatized, as well as keeping his functions (except main() of course) in alphabetical order. Made it much easier to find the one you wanted, I can assure you.

    --
    Good, inexpensive web hosting
  11. Yes, yes, yes. by Anthony+Boyd · · Score: 4, Interesting

    My career is almost solely attributable to OSS. Of course, I'd like to think I have some talent helping me, too. :)

    I started at Borland, as a Perl jockey, mostly. I got in trouble with customers for not using Delphi to power the Web site. But something about OSS made me feel safe -- I had been very poor before the Borland job, and I didn't like the idea of hanging my career onto products that cost $2000 -- what if I became poor again and couldn't afford the next release? It seemed like a way to lock myself out of my own toolset.

    I never became poor again, though. I fell in love with PHP & Linux. I started to specialize in LAMP. For a while I ran some OSS teams at SST, Arzoo, and Actuate. I bought more & more into the idea that there you give away the tools and sell the service. I started doing freelancing. I got a reputation for being the guy who fixes the bugs in apps that have lost their original developers.

    I partly got that reputation because I have fixed a lot of other people's products for free. And when I create a Web site (for myself, for profit), I package up my enhancements and release them to the community. In return, I get calls from recruiters, from people who will pay me $50 for a quick product install, and from people who see my work and want to hire me for big projects. Some of my Web sites have donation buttons, and they actually get used (not as much as I'd like, but still :)

    Anyway, to conclude, by integrating myself into the community, the community has helped me to stay afloat. I can pay my mortgage, and feed my kids. In return, the free products I use to make my living get free patches from me.

    My current big freelance project is building the auction for Napa Valley Vintner's charity auction. It's a Flash interface, which I didn't make, powered by a PHP backend, which is where I come in. I'm doing something worthwhile, and they're giving me fair pay. I may not have 10,000 customers downloading my product for $29.95, but I do have 10,000 friends who send me big jobs. They know that if I have paying jobs during the week, I'm patching their products during the weekend. It's a good way to make a living.

    -Tony

  12. It's been great, commercial-ly by LightningBolt! · · Score: 4, Funny

    I use MythTV, the open source Tivo thing. It lets me skip commercials, so I'd say it's helped out, commercially.

    Hoo ah. Tough crowd.

    --
    Old people fall. Young people spring. Rich people summer and winter.
  13. Re:Open source is NOT about profit!!! by jericho4.0 · · Score: 4, Informative
    "That's why accepting money for writing software that will be GPL'd is seriously frowned upon by FOSS advocates."

    If by "FOSS advocates", you mean "FOSS advocates who still live in Moms basement". The GPL is about freedom, yes, but is not anti money.

    --
    "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
  14. I'm SCO - I benefitted a lot by Anonymous Coward · · Score: 3, Funny

    It appears all the line-for-line code between SCO stuff and Linux is actually stuff stolen *from* Linux, not *by* Linux - so I guess we at SCO benefitted from open source snippets, but my leagal team won't let me admit it yet.

    Insincerely, Darly McBride

  15. You may be joking, but Microsoft benefitted by ron_ivi · · Score: 3, Insightful

    Considering their TCP/IP stack came from BSD, you could say that any network-aware application at Microsoft has its success due directly from open source. So it's very fair to say that the most successful company in the world's most successful products (anything Win95+) has its success due to open source. (And if you think google's more successful than microsoft, they use open source too).

    1. Re:You may be joking, but Microsoft benefitted by baadger · · Score: 2, Interesting

      Isn't MS replacing the stack in Vista? I wonder where they bought it from.

    2. Re:You may be joking, but Microsoft benefitted by Sique · · Score: 2, Informative

      But that's not the real question here. The question is not if you have profited from a specified piece of software, that by chance was open source, but if you have profited from the fact, that it was open source.

      So for instance I have profited from the fact that SAP's R/3 software is in a way open source that a registered developer on a SAP R/3 system can not only browse his own code or the code of fellow developers, but also the code SAP provides (very useful for debugging!), and (with a warning that this voids the warranty though) can even change SAP code. If you tell SAP about your modifications, and your project has a certain value to SAP, they will even setup an own system with your modifications at their side to help you hunt down bugs.

      SAP's source policy is not conform to full open source though. You are not allowed to distribute SAP's products with your modifications freely (you are allowed to distribute your patches though). But I have certainly profited from the fact that I was able to see, debug and modify SAP's codebase.

      --
      .sig: Sique *sigh*
  16. Re:Open source is NOT about profit!!! by AuMatar · · Score: 5, Interesting

    I'm going to have to disagree here. FOSS isn't about avoiding profit. Free software merely thinks there are things more important than profit, that need to be ensured first. Namely, the freedom of the user, as defined in the free software definition. If you can do that and make a profit, go for it.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  17. Various ugly HACKS by SanityInAnarchy · · Score: 4, Interesting

    The best kernel hack I remember doing was back when I used ATI. I had an AGP 8x ATI card, which used the AGP 3.0 protocol (or whatever), which was not supported in Linux 2.4. As such, Nvidia and ATI both have built-in AGP support, although I believe they'll use the kernel support if it's available, and AGP 8x/3.0 is fully supported in Linux 2.6.

    Well, ATI has just as much glue code as Nvidia to tie the binary module to various kernels, and much of the glue code is open. AGP tends to open more of their drivers than Nvidia, including the AGP detection -- maybe the full support, I'm not sure. At any rate, it was broken -- it kept refusing to detect my card as AGP 3.0, and my video card would not work in 2x/4x mode.

    So, I found the detection code, commented it out, and hardcoded it as AGP 3.0. I didn't have the knowledge to do it right -- give an option (compile-time, module load time, kernel commandline) to force a particular mode, or figure out why it got the wrong mode in the first place. This hack would obviously break the module on anything but an AGP 3.0 system. But, it worked for me.

    I would not have been able to play games on my Linux without this hack. The hack involved would probably never be supplied by a proprietary vendor, and would take a bit more work to make it acceptible for open source -- or for other developers to even notice the problem. But I was able to make it work, for myself, on my own system, and I could not have done that without source code.

    And yes, this was a critical bug. I tried other workarounds; they all failed. I'm sure if this bug existed an entirely closed driver, like the one they distribute for Windows, I would never have been able to see 3D acceleration on my box.

    The counter-argument, of course, is that the Windows driver worked fine, because Windows is more popular, and more popular means hardware manufacturers write drivers for Windows, not the other way around. But every now and then, there's some showstopping bug, and I can either dig through the source and hack it (or fix it legitimately), or I can wait for a fix. On closed-source platforms, I just have to wait for the fix.

    --
    Don't thank God, thank a doctor!
  18. Of course it has by DarkDust · · Score: 4, Interesting

    The company I work for wouldn't exist without OSS, at least we wouldn't do what we do now. We're doing VoIP products, and without Linux, the GNU tools, OpenSER and Asterisk we wouldn't be able to build those products since we don't have the resources to write stuff like that ourselves. We've patched almost everything to smaller or larger degrees so that the software fits our needs, and I've sent patches that are interesting to a wider audience back to the appropriate projects. We would never have been able to do the stuff we do with closed source software as we then wouldn't have been able to adapt them to our needs.

    And yes, I've also written patches/worked on OSS projects in my spare time. I'm an OSS developer for several years now and also learned a great deal how to code (and how NOT to code) from several open source projects. On a related side note: if you'd like to see how to manage a project (OSS or not) and how to write high quality software, I really recommend looking at SubVersion.

  19. More interesting question by Loconut1389 · · Score: 2, Insightful

    For me, open source has enabled opportunities that wouldn't have existed otherwise- in many ways, but here are a few.

    1) I love the stability of RedHat Enterprise Linux and the slower and more careful release schedule, but do not need the tech support- CentOS has been a boon for the organizations I work for.
    2) Robust internet services for free running on commodity and inexpensive hardware = less overhead. Who needs a dual xeon 3.0 ghz with registered memory just to run a small DNS or email server? End of lease hardware from tiger direct works great. A 2.4 ghz P4 is still overkill for a lot of things, but for a hundred bucks or so, who can complain.
    3) yum in conjunction with RPMs was a godsend for pushing out configurations/software to lab-fulls of identical machines. Simply push out an rpm that requires a package list and voila, yum makes sure that the machines grab those packages and their requirements. This is an oversimplification, but being able to manage several hundred machines with a few keystrokes is a miricle in itself, let alone the fact its free

    and many more

    Now the more interesting question, how have businesses you've worked for contributed to open source?

    I've often found myself working on a commercial project that depends on some open source code either as a dependency or as the framework for expansion. There are many cases where I've fixed show-stopping bugs or contributed new features that enhanced the OSS project in a non-trivial way.

    Every time such a situation crops up, it reminds me that OSS and commercialism are not in as much opposition as some in the industry think.

    The free time and hobby interest that many have is a huge part of OSS, definately, but commercial interest has produced a heaping pile of very real and sometimes previously very expensive code.

    OpenSource has and will continue to revolutionize the growth of knowledge and the capabilities of our machines, as well as lower the learning and creation overhead that is required to run a business. Things that used to take gobs of time to setup and maintain and wouldn't even be worth doing can now be done as an afterthought and an extra. Not to say that OSS replaces admins, but over time, as products improve and manage/configure themselves (rpms, etc) admins certainly can focus on other things.

    I for one welcome the OSS revolution.

  20. As a bartender? Yes, actually by Loligo · · Score: 4, Interesting


    I'm no longer a professional geek. These days I run the night shift at a bar in central Montana.

    Amusingly, though, Linux has appeared and helped my bar in the form of a digital jukebox that runs a Linux-based front end.

    This thing brings in more cash in a night than our old mechanical CD jukebox did in a week.

    The downside is that our net connection seems to die every Monday morning, so I have to show up to deal with that (being "the computer guy").

      -l

  21. Free software IS about profit by SlappyBastard · · Score: 2, Interesting
    It just happens to be based on the belief that more growth for everyone means more profit for me.

    It is the belief that knowledge, time and services are greater commodities than just stuff you dig out of the ground and sell because it is shiny.

    Otherwise, a lot of corporations are making the wrong bet.

    Let's face it: if I do web design for a living, I benefit if more people, worldwide, are making websites and using them because it increases the likelihood that one of those new sales will come my way.

    --
    I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
  22. Re:Open source is NOT about profit!!! by linvir · · Score: 2, Insightful

    Developers for the likes of Red Hat get paid for writing GPL software. Distro vendors make their money reselling GPL software. Open Source is commercial, not some ideological Star Trek project to free us from money. You don't help it by comparing it to religion.

  23. In Unexpected Ways by SkiifGeek · · Score: 2, Interesting

    My company, Sûnnet Beskerming, has benefited from the OSS model in unexpected ways. In addition to providing a technological base which is infinitely customisable, many products and tools available under OSS-friendly licences allow us to quickly setup sandboxes and other testing environments where we can focus on researching and pursuing high risk (high return) ideas which would be cost prohibitive under commercial licencing.

    The OSS approach to openness has also aided us in determining legitimate sources of Information Security threat data that is then distributed via our Free Security Mailing List. Having the source code at hand allows us to independently verify the reports that we uncover, and from there make an assessment of the relative technical merit of that particular source. This also means that we can more easily identify the gems amongst the sea of reports and risk announcements, allowing us to elevate the weight of what would otherwise be an unknown source.

  24. Free gadgets!! by Rob+T+Firefly · · Score: 2, Interesting

    I'm no programmer by a long shot and my ham-fisted code monkeying causes many more bugs than it fixes, but many of my fellow fledgeling webdesigners (all 47 billion of them) will agree that a new site featuring a plugin-ready CMS, a blog, a Gallery script, and maybe an integrated message board is insanely more impressive to a webdesign client than the old HTML+GIFs+JPEGs model of the mid 1990s. And those gadgets can all be had for free! Free, I tell you!! FREEE!!!

  25. It's a Mad Lib !!!! by ericspinder · · Score: 2, Insightful
    I work for (noun) , and we use the open source app (noun) by snagging it's source, modifying it a bit, and then deploying it internally, and only internally.(We don't distribute it outside of the company, so there is no one to whom we would have to give out our source to) This allows us to (verb) the (noun) , and get (verb) on (noun) . It's a profitable business, as you can tell.

    I work for The President , and we use the open source app SNORT by snagging it's source, modifying it a bit, and then deploying it internally, and only internally.(We don't distribute it outside of the company, so there is no one to whom we would have to give out our source to) This allows us to spy the people who who for us , and get blackmail on reporters . It's a profitable business, as you can tell.

    --
    The grass is only greener, if you don't take care of your own lawn.
  26. Bullshit! by EmbeddedJanitor · · Score: 2, Informative
    I've seen people stuck for weeks knowing that the problem is in a chunk of less than 30 lines of code, but not knowing exaclty where.

    Some code (eg. device driver code) is often extremely difficult to trace and debug and the cause and effect can often be difficult to tie togther. In once case I saw a problem where a device initialisation sequence of less than 20 lines was wrong, but very subtly so. The problem persisted for manny weeks. This was cured by a code snippet.

    --
    Engineering is the art of compromise.
  27. Worked for me... by AegisKnight · · Score: 2, Interesting

    When I was young, I developed most of my code as open source. It wasn't all that complicated or valuable, so why keep it to myself? My parents always asked me "You could be making money! Why do you give away the product of so much of your time?" I dunno, it just felt right.

    Fast forward six years. Working on so much open source has gotten me a ton of experience in many different areas of software, and it also landed me a kickass job at a kickass startup who, in turn, uses and contributes to many open source projects.

    Take a look:
    http://imvu.com/technology

    Whenever I'm mentoring people who are getting into programming, open source projects are the perfect place to start. Besides, if your source is closed, how are going to benefit from the people who are willing to take a look and give you feedback?