Open Source Programming Tools On the Rise
snydeq writes "Peter Wayner takes a look at several open source development projects making waves in the enterprise. From Git to Hadoop to build management tools, 'even in the deepest corners of proprietary stacks, open source tools can be found, often dominating. The reason is clear: Open source licenses are designed to allow users to revise, fix, and extend their code. The barber or cop may not be familiar enough with code to contribute, but programmers sure know how to fiddle with their tools. The result is a fertile ecology of ideas and source code, fed by the enthusiasm of application developers who know how to "scratch an itch."'"
I guess CVS, Firefox, Linux, GNU Make, etc. didn't catch your eye years ago?
There's no -1 for "I don't get it."
We use open source in business because it does the job and doesn't require a PO and all the hassle that goes along with that process.
I'll bet that lots of enterprise use of Open Source tools is due to the price tag, not the ability to fiddle with the source code.
Programming tools are one of the areas that hasn't gone to the cloud. And that open source tools are free as in money and are of good quality makes it an easy choice.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
but programmers sure know how to fiddle with their tools. The result is a fertile ecology of ideas and source code, fed by the enthusiasm of application developers who know how to "scratch an itch."'"
The quotes at the end just make it sound even more like it's a euphemism
Our culture doesn't get smarter, it just finds new ways of being retarded.
While that's almost certainly true, it really doesn't matter at all. Everyone benefits from wider deployment of FOSS, whether or not they're using it "for the right reasons".
Caveat Utilitor
This.
I have crap to do - a lot of open source stuff just works without tinkering and I don't have to contact an admin to get a license key for myself and every one of my testers and developers. Yes, you could point to my IT staff and say I should fix that so its easier for me to get pay for software, but that brings us back to my original point of I have crap to do...
Whether it be the annual Summer of Code, Chrome, adWhirl server, or practically any portion of Android (who for its apps, Google recommends using Eclipse mentioned in the article), Google is all over open source. Factor in previous contributions from IBM, Sun and others, alot of corporations now see that open source is a viable option since big names are backing these projects.
"...programmers sure know how to fiddle with their tools."
[chuckle]
I'm not so sure.
.Net, but we use SubVersion, NAnt, NUnit, and Wix. Our tool set is frowned upon precisely because it's free. The enterprise attitude seems to be "if it doesn't cost an-arm-and-a-leg and doesn't come with an 800 support number, it can't be any good".
I work for a huge company. The corporate standard for software development is Java, so you'd think there would have a bunch of open source tools in the processes. Instead, they are heavily into the Rational tools suite and run apps on WebSphere. On the other hand, my division writes software on
Then your enterprise attitude is woefully wrong.
Koans and fables for the software engineer
Lots of Rational's tools are built on Eclipse and various projects from Eclipse, all of which are Open Source.
We're seeing some cool new programming environments show up too.
I've always preferred Visual Studio and I never did like Code::Blocks or DevC++ but I found CodeLite relatively recently and I love it!
I find Visual Studio's price tag combined with the gradually improving open source tools make it difficult to stick with VS but maybe that's just me.
I highly doubt that open source tools are used because they allow themselves to be modified. What percentage of people actually look into the code and modify them? The main reason is that most open source tools are free and have absolutely zero delay in being available. Download, install and code away! In most cases, you don't even have to install, just unzip and you are good to go.
What the world would be like without onerous patent systems.
This. In all commercial software shops I've worked so far, price was always the primary reason to go with open-source tools and libraries. Mucking around with code was useful at moments, but compared to cost savings a distant second.
I highly doubt that open source tools are used because they allow themselves to be modified. What percentage of people actually look into the code and modify them? The main reason is that most open source tools are free and have absolutely zero delay in being available. Download, install and code away! In most cases, you don't even have to install, just unzip and you are good to go.
Exactly. Commercial software has a price, which usually means begging up the chain long past the point where the software was needed. As a developer, I need it here and now. With open-source tools, my only impediment to productivity should be websense.
I can deal with the dollar cost of proprietary tools, what I find harder to deal with is the administrative overhead of getting corporate approval for a license, periodic renewal or maintenance, licenses for my coworkers when they want to do something similar to me, and evaluating the tool vendor's commitment to maintaining the tool. All of that (except the commitment to maintenance issue) is absent in FOSS.
It's nice to be able to "scratch an itch" and fix a bug in a week if it really needs fixing, instead of begging for a patch, waiting and hoping for 6 months or (more often) just having to live with and/or work around a bug. This is a benefit of FOSS I rarely use, but have done on occasion, same for extending a package to add that one last missing feature.
The really cool thing with an open toolkit (like Qt Creator) is the ability for anyone, anywhere in the organization to be able to install and execute the developer tools and "get it to run just like on my machine" without having to go through creating an installer. Sure, "finished product" deserves a good installer, but for quick little developers' tools that might need source level tweaking, an installer is just annoying.
Open source is largely about scratching your own itch. One would only expect that open source programming tools would be of much higher quality then open source in other categories.
I am but a young'in(~30 sun cycles) but I can't remember a time when commercial compilers and tools were better then open source ones.. Of course, I do have a Beardy Unix Guy, so my opinions are widely different from some MCSE I guess.
Blessed are the pessimists, for they have made backups.
Programmers use open source tools because they're good and they're free, no one uses work time to modify programming tools because it's not cost effective or sane.
However, unlike a lot of open source software, development tools are actually used by their developers so they're pretty much always good. They fit into a programmers workflow, and they're free. Eclipse may be a memory hungry pig, but Visual Studio tends to copy from it rather than the other way around.
Come for the price, stay for the quality.
Nerds using nerdy tools- whats so surprising about that? If more grannys are drawn to Open Source, that would be news!
You might be an outlier, but ask yourself this, if only because so few people do....
If these solutions were still free, but came with the 800 support number, would they still frown on it? If the answer is "no", then consider that the free part might just be a side-effect of them expecting professional support resources for the development software they rely on. That's far more rational than these attitudes seems on the surface when you frame it as, "they hate it cuz it's free".
I'll bet that lots of enterprise use of Open Source tools is due to the price tag, not the ability to fiddle with the source code.
That's fine as far as it goes, but one of the major arguments for choosing a Free tool chain is the ability of anyone at all to improve it, which means that improved quality can be had effectively for free.
So you're essentially asking us to decide between 'less filling' and 'great taste'. It's a useless distinction, because the software wouldn't be free if it weren't open.
The fact that the majority of people/companies can simply act as freeloaders is one of the magical outcomes of the gift economy on which Free Software is based.
... You're welcome, by the way. 8^)
Crumb's Corollary: Never bring a knife to a bun fight.
The same people happily use non-free software for which there is no support number. They also use non-free software that is so crappy that their free counterpart would be less hassle even *without* a support number. Work with SourceSafe once and you know what I mean.
On the other hand, they do not use these tools because they're non-free. They use it because "everybody uses them so they must be good", because they are extremely reluctant to change, and because when they change, they would flock with the next popular tool du jour instead of going for something reasonable (like, in the case of SourceSafe, Subversion).
Your doubts are misplaced. The #1 reason is access to source code. Not so much to modify or fix bugs, though I've done both at time, but for documentation. The documentation written as such universally sucks and never really matches up with what the software actually does. The only real documentation is the software itself. If you don't have access to the source so you can see what the hell is going on you don't have usable documentation and are just guessing.
"It is better to die on one's feet than to live on one's knees." - Albert Camus
Pays the rent though. :)
XML is a known as a key material required to create SMD: Software of Mass Destruction
Familiarity counts for a lot, too. When I was in college, the svn/make/gcc combination for C-based projects was very accessible. Microsoft recognizes this, and provides free developer tools for many Universities in the hope that their toolchains will become familiar standards. To a certain extent, that has worked.
I think that it depends on the enterprise.
Last year I was doing Java CAPS work and you don't get much more enterprisey that that. Under the hood JCAPS uses lots of open source stuff,. For example, if I recall correctly it uses some of the Apache Commons libraries and it certainly uses stuff like Ant.
However, the powers that be wouldn't let me use them, their logic being - if there's an issue in an Apache Commons lib then Sun (now Oracle of course) have the horse power to fix it but we don't. If we have an issue with one of the libraries Sun sure as anything won't fix it.
And I found it difficult to argue against this stance.
On the other hand in some enterprises the difficulties, costs and time delays of going through formal procurement procedures can kill you. Sometimes the politics play out so that you can use FOSS because it doesn't need to be procured and actually deliver something before hell freezes over.
Different types of enterprises and different types of politics but it's not, in my experience, in my experience because FOSS is cheaper than alternatives it to do with support and internal procurement policies.
Most of us pay our bills building god-awful websites and writing financial/accounting stuff. It is, intellectually, drudgery. Those of us in better situations, and others who manage to find energy, write tools to make the drudgery bit more palatable.
It's a labor of love.
Or sadism in Larry Wall's case.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
I'll bet that lots of enterprise use of Open Source tools is due to the price tag, not the ability to fiddle with the source code.
If free-as-in-beer or free-as-in-speech were the issue, Open^H^H^H^HLibreOffice would be the corporate standard. Open source programming tools are simply among the best available. Right now, without any further need for fiddling. They became the best because the programmers developing them are the same as the programmers using them. They can scratch their own itch. Often only a (very) limited group of FOSS-users knows how to program, and how to 'scratch their itch' if there is something they feel needs improvement in the software. For programming tools a huge part of the user base will know how to fix the bugs/annoyances, and their efforts have a much wider appeal in their own (programmer-)community, than a similar effort would have in other communities.
Agreed, however, that is the case for most environments... I wish MS had resisted the Alt.Net community a bit more. Not that I don't welcome MS being responsive to the developer community, I just find a lot of their actions had the effect of reducing independent progress, even when tied to their platform. I still don't have a server infrastructure for asp.net (mvc or not) for mono that's compelling enough to not just buy a web edition server license of Windows with IIS. Part of it is cost, I do know I've patched both prototype and jQuery in the past and upstreamed the fixes... can't really do that wit closed source.
Michael J. Ryan - tracker1.info
These days you don't have to choose. I run Win 7 on my machine and a virtualbox Ubuntu on that. So I develop in Ubuntu, and any kind of multimedia stuff is handled in Windows.
The great thing about development on Unix is that it is all just there. apt-get install xxx and you are ready to go. Versions are automatically upgraded. If you prefer working in a windows environment for some part of your project, you can easily do it by sharing drives and networking.
Max M - IT's Mad Science
I highly doubt that open source tools are used because they allow themselves to be modified. What percentage of people actually look into the code and modify them?
It doesn't really matter what the percentage is, because there's a strong positive reinforcement loop. If an open source programming tool has a wide audience, then it has a wide audience of programmers -- just what it wants to recruit to improve the codebase! That makes it a little different than, say, an open source spreadsheet attracting a million more accountants. For programming tools there really is a much stronger positive feedback loop between popularity and rate of development.
The ability to buy a product through a purchase order and have access to customer support is sometimes very important to large corporations. I had once used a legitimately downloaded PGP encryption product as key component of a complex Cash Management application in a global multinational bank but the biggest challenge in getting it accepted as a part of the solution was the lack of a purchase order. I remember the IT Head of the bank almost pleading with me to get a commercial product but because PGP had already been integrated with the system, the difficulty of a change was immense. I believe that the bank finally got someone do download PGP and sell it to the bank for $10 through an invoice before the row was settled !!
Insight into much, Influence over nothing !
FOSS tools are widelly use in enterprises because of three reasons:
Not only do I look into the source code of the build & deployment tools, but I also look into the source code of the standard libraries, and even the OS itself... but then again, I can't just blame my bugs on "the crappy MS Windows platform" -- my customer's know better.
programmers sure know how to fiddle with their tools.
There's an understatement.
^^vv<><>BA
The #1 reason is access to source code.
[Citation Needed]
I only say this because of all the programmers I know who use FOSS (which is quite a few), only one has ever regularly peruses the source code. The rest of us just use the provided documentation. I think maybe once we crawled through code to find a bug, only to find out it was a bug in our code anyway. The biggest motivating factor for us using FOSS in our toolchain is that a) it's free, and b) GPL doesn't touch the final product, just the tools. Having access to the source code is more or less just a bonus feature.
How does it feel to be a liar with pants constantly on fire?
Do you have any job openings at your company?
I'm feeling a bit too happy in general, and am looking to add some misery back to my life.
Even more important than the price tag is the fact that with free software you don't expose your company to the risk of license compliance audits by software vendors. You can skip the whole useless license bookkeeping you need when using proprietary software. You can just plunk a new machine on a desk, install the usual bunch of software and start using that machine for what you bought it for. This is freedom. This is free software. Freedom to use *your* computer at *your* terms.
--frank[at]unternet.org
Price is generally the first factor to get Free software in the door. Some of the coders may be interested in the hackability, but that rarely sways the managers.
Not having to do compliance auditing for the license is another big win. The tools are free to copy and use at will within the company. No need to worry about BSA paratroopers crashing through the skylight and demanding to see actual physical license certificates and such.
Assured continuing availability is another big win. No vendor can force you to "upgrade" to a less useful version or EOL the product you (and big chunks of your code) depend on.