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?"
Special Report / Open-source business
Open, but not as usual
Mar 16th 2006
From The Economist print edition
As “open-source” models move beyond software into other businesses, their limitations are becoming apparent
ILLUS.
EVERY time internet users search on Google, shop at Amazon or trade on eBay, they rely on open-source software—products that are often built by volunteers and cost nothing to use. More than two-thirds of websites are hosted using Apache, an open-source product that trounces commercial rivals. Wikipedia, an online encyclopedia with around 2.6m entries in more than 120 languages, gets more visitors each day than the New York Times’s site, yet is created entirely by the public. There is even an open-source initiative to develop drugs to treat diseases in poor countries.
The “open-source” process of creating things is quickly becoming a threat—and an opportunity—to businesses of all kinds. Though the term at first described a model of software development (where the underlying programming code is open to inspection, modification and redistribution), the approach has moved far beyond its origins. From legal research to biotechnology, open-business practices have emerged as a mainstream way for collaboration to happen online. New business models are being built around commercialising open-source wares, by bundling them in other products or services. Though these might not contain any software “source code”, the “open-source” label can now apply more broadly to all sorts of endeavour that amalgamate the contributions of private individuals to create something that, in effect, becomes freely available to all.
However, it is unclear how innovative and sustainable open source can ultimately be. The open-source method has vulnerabilities that must be overcome if it is to live up to its promise. For example, it lacks ways of ensuring quality and it is still working out better ways to handle intellectual property.
But the biggest worry is that the great benefit of the open-source approach is also its great undoing. Its advantage is that anyone can contribute; the drawback is that sometimes just about anyone does. This leaves projects open to abuse, either by well-meaning dilettantes or intentional disrupters. Constant self-policing is required to ensure its quality.
This lesson was brought home to Wikipedia last December, after a former American newspaper editor lambasted it for an entry about himself that had been written by a prankster. His denunciations spoke for many, who question how something built by the wisdom of crowds can become anything other than mob rule.
The need to formalise open-source practices is at a critical juncture, for reasons far beyond Wikipedia’s reputation. Last year a lengthy process began to update the General Public Licence—the legal document which makes available “free software”, such as Linux, an operating system that poses a challenge to Microsoft’s dominance. The revision will enable the licence to handle issues such as patents and online services. The drafting process uses the same approach as the software production itself. It relies on an open collaboration that has hundreds of contributors around the world. “What we are actually doing is making a global institution,” says Eben Moglen, a professor at Columbia Law School in New York and the legal architect behind the licence.
One reason why open source is proving so successful is because its processes are not as quirky as they may first seem. In order to succeed, open-source projects have adopted management practices similar to those of the companies they vie to outdo. The contributors are typically motivated less by altruism than by self-interest. And far from bein
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've done a bit of research on this, and plan on expanding it in the very near future, but preliminary research shows that OSS continually increases gross margins while decreasing R&D costs without anything but positive effects on revenue and/or profits. Unfortunately, I can't post my research since it's mid-research and not ready for release, but it's something to think about (and easily seen if you can read financial statements).
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 all the companies working in india/pakistan that regularly sell repackaged OSS often without informing the client and in violation of the GPL and the software license.
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.
In my opinion it helped me a lot, i use oscommerce and i think is great. http://www.popotland.com/
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
..a non-GPL project is the one that would be a more a concrete example; I develop in OS/X and Windows and deploy to Apache/PHP/MySQL on Linux. The LAMP part is obviously something that the OSS community has given me, and I am grateful to all of those projects. That said my work doesn't require me to modify Apache, PHP, MySQL or the Linux platform, and in that sense the GPL doesn't affect my work for the worse.
There is another piece of software that I have used in my CMS project (a client wanted a bespoke CMS, I swear I did advise that we should shop around for existing solutions), and in the versions of the CMS I have gone on to sell to other clients. It's Kevin Roth's Rich Text Editor component, a collection of Javascript and HTML, and it is free as in beer, and the source code is visible for all to see. But it is not GPL, and some people have a hard time accepting that this work of art, a gift to the world IMO, could simply be 'free for reuse, anywhere'.
I truly want to be (politely) corrected if I am wrong, but my understanding is if his work were under the GPL, then my work which is incorporating his work, would also have to be GPL.
Actually, aMSN really got me laid once the webcam plugin was integrated. That's how I met my girlfriend and then... well, you don't want to know :p Thank you aMSN and keep up the good work!
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.
Sorry to get your hopes "up".
:-)
Should have been Sorry to get your "hopes" up.
Fixed
cmon, even rms says 'free' isn't about price, it's about freedom. the freedom to redistribute the software and modify it, not the freedom from a salary to write the stuff. we're not socialists or communists. you might be. but whatever.
must... stay... awake...
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 have recently been rolling an ajax based front end to mainframe applications. Being able to deploy Apache anywhere without having to get a license has helped with testing and training.
I guess weve deployed over 40 Apache servers on everything from zSeries hardware to laptops. Some deployments are extremly ephemeral (usually for training or testing). To have to get a software license for each install would have slowed development, testing and training down to a crawl, and would have added a headcount just to manage the deployments.
Development also benefitted from open source tools, such as regina, firebug, cygwin, etc.
Access to the actual source has meant very little. Its the easy deployment that helped us.
Where we were restricted, it was often because a licensed tool was being used. E.g. VSS stopped mainframe-side developers from seeing the web-side code. Im not sure management are much aware that VSS may have slowed development unnecessarily.
**TODO** Steal someone elses sig.
FTFA:
Let's substitute "the presidency" and "the people"
So when is the Economist going to do its share fore the "checks and balances" and pull a Colbert?
It's better to have an interactive read-eval-print loop and program using it.
Sorry that your language doesn't seem to provide one.
We are Turing O-Machines. The Oracle is out there.
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
Yes, OpenSource has helped my company. We are a global Tier 1 automotive parts supplier. We have about 32 designers that use Sun workstations to do CAD. They all run OpenOffice, Adobe, Mozilla, Java and Flash. I wrote a database web application to manage all of our engineering documents and accounting documents. A similar system from UGS would have cost over $100K + licensing costs. Our documents are scanned and saved as a PDF format once signed. The entire world wide corporation is using the system without a hitch. Our poor MS admins are running around chasing down stupid problems while I am able to advance my career with real programing and learning more Unix. I used Sun hardware along with Apache, MySQL and PHP and a little CSS to make it happen. All of my colleages say it's the best database system they ever used. In addition, I really wish that Dassault or UGS release a linux flavor or their CAD software. We are in the process of getting a new twin dual core Opteron workstation with 16GB RAM in order to run ANSYS on Linux. It will be similar to Sun's Ultra 40. This is a very exciting and critical time to be in the IT department and manufacturing. One wrong move and you are not competitive any more. Alot of work is starting to be sourced out to China. I can feel the pressure from all sides. Free OpenSource software has helped our company without a doubt.
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.
Open source has actually hurt my company. We are a VAR/consulting company. We initially billed ourselves as open source speciallists offering free software as well as the standard fair. The intent was that we would be unique, when compared to the competition, because we offered free/gratis software such as OpenOffice, Firefox, web servers, mail servers, spam/virus filters etc.
We weren't OSS zealots that pushed open source as the only way, if that's what you're thinking. We offered Microsoft and Novell products and services as well as our OSS offerings. We thought that the gratis OSS offerings would be a good hook to attract new customers and we'd make our money from the services. Bzzzt!
It took some time to realize it but, OSS was actually dragging us down. OSS is generally regarded as inferior, if for no other reason than it was free/gratis, and our company's image was stigmatized by simple association with OSS. We were actually losing business to our over priced competitors because of it. When presented with an opportunity to provide a spam filtering solution, we'd lead with a custom Spamassassin gateway. We'd lose the deal to a MUCH more expensive Synamtec Solution. When presented with a file server opportunity, we'd lead with a Samba solution, only to lose it to a much more expensive Windows Server. When this happened, we'd counter with the same Windows Server solution at a slightly lower price and still lose the deal because our image had been "tarnished" by the Samba offering. Talk about a kick in the teeth!
We fought the problem for a long time and couldn't get past it. We then took the OSS offerings off our web site and started leading with high dollar Microsoft and Novell solutions. Business is great now! It's incredible when you think about it but, I can't give away a copy of OpenOffice. But, I can sell MS Office to the same customer for $350! $80 of that goes into my business versus nothing from OpenOffice.
Yes, OSS has hurt my business. But, that's all over now.
The company I work for (http://www.mobilerobots.com) sells both hardware and software.
Some of the software is GPL, namely all the development libraries, and the robot platform usually runs Linux (though you can get Windows on it if you really want). We also use a lot of free software in development, or depend on free libraries. This lets a software development staff of four turn out a lot of useful stuff quickly, and using Linux of course brings down the customer's final cost by a few hundred dollars, as well as being a bit more technically suited to the application. Having free/open source development libraries is of course also a great benefit to the customer, who can hack it however they want.
In our case it really is the hardware that brings in the dough; the software just makes the hardware a *lot* more usable!
My wife and I ran are involved in a non-profit organization that ran a big event last weekend. After the event was over, we realized that we wanted to get some criticial feedback on the event, but had no survey mechanism...
The next morning, I looked around freshmeat and found phpSurveyor -- grabbing and exploding the tarball to the right directory took about three minutes. Then I spent about 15 minutes setting it up and making changes to the source code to get around quirks of my ISP. I had a survey ready to go in less than an hour.
The "free to grab", "free to change" situation of FOSS made it possible to run a successful survey while the respondents impressions were still fresh. (Granted, if we had planned for this ahead of time, this wouldn't have been necessary...)
Don't get me wrong, I'm glad open source projects like Firefox and Open Office are out there and good enough that I can by and large ditch Microsoft's offerings. On the other hand, the last time I took a look at Mozilla code, I nearly passed out (it just sprawled and sprawled) and all indications point to OO being even worse. I mean, I've written software before (Windows/DOS and mostly C-derived languages), and it's _never_ looked so damned byzantine. So, while I'm glad it's out there and works in many cases, I wouldn't touch the 'open source' part with a 10-foot pole.
I was working with a team of classmates on a software engineering project last fall, a C# digital photo organizer (note that it's a way-pre-1.0 release, even though it's quite functional now). We used the exiv2 library for EXIF/IPTC metadata reading/writing. A couple of weeks before the final deliverable was due, our app started nondeterministically throwing an AccessViolation Exception (something that C# does when an unmanaged library accesses invalid memory). We traced this to the exiv2 library, and, having the code, all the way to the offending function call. I didn't have enough C++ experience to realize what was going on (a string manipulation function was being called on a raw char buffer, not a null-terminated string), but I asked the developers on their forum, and they realiezd what was wrong and offered a patch two days before the project was due.
Most of this would have been impossible with a closed-source library. We would have had to either move to another library (and there aren't many which actually write EXIF/IPTC) or stick with the ugly hack of a workaround that I came up with initially. It sort of worked, but was terrible for performance and conceptually hideous: since the invalid memory access was nondeterministic, we wrapped the whole thing in a while(true) try/catch block and just kept trying to do the metadata operation in question until it succeeded.
Telltale Games: Bone, Sam and Max
We ship hardware with our code, so open source has allowed us to not pay a per-box fee to Microsoft or someone else. Our code isn't open source though.
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.
Used gcc and friends as a development environment for turnkey embedded products. Mostly this means just using gcc as a product, but on occasion I've gone into the gcc/binutils code to understand how to get around a compiler limitation/bug.
Used open source as a reference. For example, when I've had problems initialising a device/chipset, I might refer to Linux to see how it is handled there.
IMHO, the most important advantage of open source is that you can investigate and fix problems when you want to. If you're using, for example, WinCE as an OS and you find a problem then you need to wait until MS fixes the probelm and releases it. MS's timescales and priorities are not the same as yours. With open source you become the master of your own destiny.
Engineering is the art of compromise.
I worked for a company that was totally Microsoft based. Everything worked so terribly, I began optimizing and improving everything by porting it to linux. They loved it, but the IT department was incompetent when it came to linux. I left the company and now they are totally fucked. Ha!
...can be real buggers to reproduce, and it can be even harder to track the root cause down once the thing can actually be tested.
:-)
I don't have much experience with the former, but I've had to track down a few of the latter, and it *is* satisfying once you find it and fix it.
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
>>> "genius programmer"
Sounds more like a software architect or a software engineer to me?
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?
Sometimes you have to compromise to get things done quickly.
Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
this is what you get when PHBs mandate productivity as lines of code per hour.
Today that's probably what he'd be called. However, this was about 20 years ago. Also, I'm not exagerating when I call Dan a genius. Jerry Pournelle once dedicated a boot to "Dan Alderson, the sane genius." This namelist package required doing pointer arithmatic and moving bytes around absolute memory in FORTRAN, a languague designed to make that impossible. Dan did it, all in FORTRAN, with no assembler.
Good, inexpensive web hosting
They're Linux based and they earn lots of money