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?"
No, just kidding, actually it didn't. Sorry to get your hopes "up".
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.
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?
If you know the problem is in a snippet of code, you've already solved the problem.
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
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?
> 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.
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.
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!
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
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
My Greasemonkey scripts for Digg &
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.
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
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
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).
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?
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!
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.
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.
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
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.
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.
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.
InfoSec that matters, when it counts.
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!!!
Slashdot Burying Stories About Slashdot Media Owned
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.
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.
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?