How Has Open Source Helped You Commercially? 96
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?"
Hmm (Score:5, Informative)
same argument for presidents (Score:2)
FTFA:
Let's substitute "the presidency" and "the people"
open source got me LAID! (Score:5, Funny)
Re:open source got me LAID! (Score:1, Funny)
I'm a web developer. Mostly PHP, MySQL/PostgreSQL, etc. When I get my nice heafty pay-cheque from whomever I do a project for, I go out and pickup a hooker or two. ;-)
-- if only it was that easy. :-(
Re:open source got me LAID! (Score:1)
Free Freedom...
Free love!
True story! (Score:1, Funny)
Re:open source got me LAID! (Score:1)
codes snippets != open source (Score:3, Interesting)
Enterprise (Score:5, Funny)
http://thedailywtf.com/forums/64597/ShowPost.aspx [thedailywtf.com]
http://thedailywtf.com/forums/64833/ShowPost.aspx [thedailywtf.com]
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 ";
}
Re:Enterprise (Score:3, Informative)
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.
Re:Enterprise (Score:3, 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
Re:Enterprise (Score:3, Informative)
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.
Re:Enterprise (Score:3, Interesting)
Re:Enterprise (Score:2)
Yes, that sure makes a lot of sense! It's so much better doing that than actually checking the error code from the SQL library! And because it's more LOC, you are also more productive!
REPL (Score:2)
Sorry that your language doesn't seem to provide one.
I'm SCO - I benefitted a lot (Score:3, Funny)
Insincerely, Darly McBride
You may be joking, but Microsoft benefitted (Score:4, Insightful)
Re:You may be joking, but Microsoft benefitted (Score:1, Interesting)
Re:You may be joking, but Microsoft benefitted (Score:3, Informative)
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
Re:You may be joking, but Microsoft benefitted (Score:3, Interesting)
Re:Enterprise (Score:2, Insightful)
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.
Snippet? (Score:3, Insightful)
Re:Snippet? (Score:2)
Another case where identifying the snippet may not be enough is when the problem is limited to one (or a just a few) platforms, and you don't have access to those platforms. Then you need access to the platform experts.
All of the example above (except APL) are drawn from m
Bullshit! (Score:3, Informative)
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.
Yup. Timing window and/or reentrancy errors... (Score:2)
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.
CPAN modules == $money (Score:5, Interesting)
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
Re:CPAN modules == $money (Score:5, Interesting)
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.
answers (Score:3, Informative)
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.
Re:answers (Score:1)
Open source sure helps (Score:2)
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 d
Yes, no doubt about it (Score:3, Interesting)
Re:Yes, no doubt about it (Score:2)
How has the fact that the code is open and available made it better as opposed to closed sources. Both can be free, but how has the openness of the code benefitted you?
Re:Open source is NOT about profit!!! (Score:5, Informative)
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.
Re:Open source is NOT about profit!!! (Score:5, Interesting)
Free software IS about profit (Score:2, Interesting)
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.
Re:Free software IS about profit (Score:1)
> worldwide, are making websites and using them because it increases the
> likelihood that one of those new sales will come my way.
Only if your assumption/ gamble pays off that you are:
1) Really good
2) Really cheap
3) Really good at SEO or self promotion
Otherwise, your assumption is relying on the kindness of strangers, nicht?
Re:Free software IS about profit (Score:1)
Um... dude? I run a business. In all fairness, if I'm not good at self-promotion, I'm screwed. If I'm not cheap, I'll be beaten. If I'm not good, I'll never be contacted.
So, I will gladly play those assumptions, because that is just the nature of business.
If business were easy, everyone would do it.
Re:Open source is NOT about profit!!! (Score:2)
Re:Open source is NOT about profit!!! (Score:2, Insightful)
It's all about the margins (Score:1)
Open Source has made my life way easier (Score:4, Funny)
* These censored bits brought to you by men in black coats, and my NDA. Enjoy!
Re:Open Source has made my life way easier (Score:3, Funny)
* Sorry, can't tell you why it's censored. Talk to [CENSORED*] if you want more info.
It's a Mad Lib !!!! (Score:3, Insightful)
I work for The President , and we use the open source app SNORT by snagging it's source, modifying it a bit, and th
Yes, but in a different way (Score:5, Informative)
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.
Re:Yes, but in a different way (Score:2)
IMHO every function call where the function takes more than one parameter should be done by name, not position.
Re:Yes, but in a different way (Score:2)
Oddly enough, that's roughly what that subroutine package did. Instead of having a batch file call a program with a huge list of paramaters (Most of them set to their default value and having to be in exactly the right order.) you'd create a namelist file. In it, you'd list variable names and values, in whatever order you wanted. The namelist reader would set the variables to the right value, not touching any others. There was also a namelist writer that would out
Re:Yes, but in a different way ... architect (Score:2)
Sounds more like a software architect or a software engineer to me?
Re:Yes, but in a different way ... architect (Score:2)
Yes, yes, yes. (Score:5, 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 [outshine.com] for free. And when I create a Web site (for myself, for profit), I package up my enhancements and release them [freshmeat.net] to [outshine.com] the [outshine.com] community [outshine.com]. 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 [napavintners.com]. 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
Re:Yes, yes, yes. (Score:2)
It's been great, commercial-ly (Score:5, Funny)
Hoo ah. Tough crowd.
Various ugly HACKS (Score:5, Interesting)
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.
Of course it has (Score:5, Interesting)
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.
More interesting question (Score:3, Insightful)
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.
As a bartender? Yes, actually (Score:5, 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
Re:As a bartender? Yes, actually (Score:1)
1 shutdown the network connection
2 do what ever magic you need to do
3 restart the network connection
Re:As a bartender? Yes, actually (Score:2)
It's "open source" as far as the box being Linux-based. Beyond that? I can't do a damn thing.
-l
OSS has helped me but.. (Score:1)
There is another piece of software that I have used in my CMS project (a client wanted a bespoke
Re:OSS has helped me but.. (Score:2)
That is correct if you choose to redistribute it. If you don't send your code to anyone else, you can just use it, which is what I imagine you're doing anyways with a web app.
The people who replied in the forum you linked to and complained about there not being a license are basically being silly. If he released it as pub
Re:OSS has helped me but.. (Score:1)
Apache easy liscensing is helpful. (Score:2)
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 headc
In Unexpected Ways (Score:3, Interesting)
My company, Sûnnet Beskerming [beskerming.com], 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 [skiifwrald.com]. 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.
Free gadgets!! (Score:3, Interesting)
OpenSource has help our Company (Score:1, Interesting)
Open Source Has HURT My Company! (Score:1, Informative)
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 produ
Free Software Helpful! (But not everything.) (Score:1)
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
phpSurveyor in an hour (Score:2)
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 read
Not 'commercially' (yet) but 'academically' (Score:2)
The open source platform has helped (Score:2)
Worked for me... (Score:2, Interesting)
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 so
Allowed me to get ahead of the competition (Score:1)
Sometimes you have to compromise to get things done quickly.
Do you know Google? (Score:1)