IBM Turns to Open Source Development
mmmbop writes "'Is open source changing the way that software is made? It is at IBM. BetaNews sat down with Doug Heintzman, IBM Software Group's VP of Strategy and Technology, to discuss the adoption of a hybrid development model called Community Source that combines the best elements of the open source model with decades of IBM programming practice - avoiding a top down approach that IBM says could make Microsoft's Longhorn obsolete upon arrival.' A long read, but well worth it."
Traditionally IBM's methodologies have been very close to (and predate) that of open source, which derived much of its culture and programming mindset from that of IBM or Bell Labs. Their documentation as compared to other hardware/software developers has always encouraged the user to learn about and extend the environment in which they work rather than supporting only a superficial "click here, then there" mentality.
IBM has always been good for open source. It makes sense that open source can be good for IBM as well.
Try not. Do or do not, there is no try.
-- Dr. Spock, stardate 2822-3.
I thought it was Microsoft's job to ensure obsolescence upon delivery.
If brevity is the soul of wit, then how does one explain Twitter?
They could show their true dedication to open source by releasing the code behind OS/2 and AiX. While it will of course take time, effort and money on the part of both developers and lawyers, it would be an excellent show of good-faith towards the open source community. After all, if Sun can do it with Solaris, then IBM can surely do it with AiX and OS/2.
Cyric Zndovzny at your service.
Sorry, got a system with 3500 users on 14 x86-servers (no clusters) geographically spread out, with about 200 *different* applications outside e-mail.
One main administrator, a few local part-time ones who only do things like create new users.
One developer.
Works like a charm. For sure, the Notes UI is Idiosyncratic at best, extremely frustrating at its worst, but for the kind of things it does well, nothing comes close!
Heh. Isn't IBM just practicing to become a fully consultant-based company there? That seems to be their plan:
:P
1. make the best software in the world using whatever tools are at hand
2. open source it, (automatic, considering how 1 would have to be done)
3. and support it. (of course, this is where 'profit' would normally go, but yeeah.)
Looks like a better plan to me than other stuff.
Just thought I'd summarize, 'cause you didn't read the whole article.
My little site.
They plan on employing all those people in all those labs. They just figure that there will be massive inefficiency (and they're probably right, seeing as they saw the problem years back, apparently) if they don't manage it in a way that mimics open source. It's not a complete open sourcing of all IBM's applications he mentions. In fact, he seems to refer to it in terms of open-sourcing the codebase within the company, rather than open-sourcing to everyone. I have read somewhere around here that the same kind of thing goes on at Google.
My little site.
When I read what he is saying they want to do, it sure sounds a lot like reading Fred Brooke's "Mythical Man Month". They are realizing that writting high quality, re-usable components with good documentation is very expensive. I believe "MMM", discussed this in the very first chapter. There are two orthognal qualities (I believe re-usable, and quality documentation, but it's a really long time since I read the book) that add a factor of 3 in each direction. If you wanted both it would take 9 times as long.
Stratigically, it makes sense to invest in creating those, if you have features that will be needed in enough different projects and areas. It sounds like they are planning on breaking down internal barriers, and providing highly re-usable, and well documented internally, and then ensuring that people know of it's existance.
Providing the source is a good idea. Ensuring that the fixes get moved upstream is a good idea. However, this sounds like good Engineering Practices (which I suppose is what a lot of "Open Source" advocates say you get, where as "Free Software" advocates, say it's purely an ethical issue).
It sure seems like this has little to do with "Open Source", and a lot to do with solid Engineering. It just so happens that Open Source has a lot of solid engineering behind it. It sure looks like a no brainer to re-use source you already have access to. If you are going to re-use it, it should probably be designed for that. If people who didn't write it are going to use it, it should probably be documented fairly well. Some how this seems fairly obvious, as opposed to, "we add features as we need them, to resolve some personal niche", which is the crux of "Open Source" according to CatB.
Kirby
And there was lots of it: the documentation for OpenVMS was at least 10 or 15 feet in the bookshelf. Absolutely great.
It is mentioned in the article that IBM hopes that they will be able to make a contribution back by introducing some of their techniques and practices into the Open Source world. If there is one area where I really hope they succeed, it is if they were to inspire people to spend more time on documentation.
After all, what good is a program that does exactly what you want, if you can't find out that it exists and how it works by surfing the net? If I have to download and unpack something just to see if there happens to be some more or less cryptic files that I can read to see if it was worth downloading and unpacking, the chances are very slim that I'm gonna bother. And I think many people are like me in this respect.
Christian Engström, Former Member of the European Parliament 2009-2014 for The Pirate Party, Sweden
Lets see IBM release bits of WebSphere, DB2, MQSeries or Notes to Open Source. IBM likes open source as much as it is detrimental to their competitors, but you'll be unlikely to see them open source their big moneymakers.
IBM's approach is to sell you the whole thing: servers, software, and services. They'll give you a good price on one to make a profit on the others. Open Source might be a piece of the software, but rarely is it the whole thing. WebSphere, Notes/Domino, DB2 and MQSeries all generate good money for IBM. Don't confuse IBM w/Red Hat or a services-only company b/c they're not.
When companies start an outsourcing deal w/IBM, IBM comes in and replaces all the hardware, and migrates as much of the software to their stuff that they can.
The only people who will always have cutting edge software are those who are willing to view their software as a utility (pay monthly for it). If software isn't updated on a continual basis it is always obsolete.
IBM's clients are big businesses (as far as their cash cow consulting services go). All of these businesses pay IBM tens and hundreds of thousands of dollars every month. The average Longhorn user isn't prepared to do that.
So, IBM claiming that Longhorn will be obsolete as soon as it is released is only pointing out the fact that Longhorn caters to a different market than IBM's products do. Mac's next OS will be obsolete as soon as it is put out as well as about 99.999% of all other software.
Just putting it in perspective. It's not an open source thing, it's just the way the software market works.
4758 Secure Coprocessor Driver for Linux
This project is a Linux device driver for the IBM 4758 PCI Cryptographic Coprocessor, which is a tamper-sensing and responding, programmable PCI card. It provides a highly secure subsystem in which data processing and cryptography can be performed.
ATM on Linux
ATM support for Linux is currently in pre-alpha stage. There is an experimental release, which supports raw ATM connections (PVCs and SVCs), IP over ATM, LAN emulation, MPOA, Arequipa, and some other goodies.
Abstract Machine Test Utility (AMTU) for Linux
Abstract Machine Test Utility (AMTU) is an administrative utility that checks whether the underlying protection mechanism of the hardware is being enforced. This is a requirement of the Controlled Access Protection Profile (CAPP) FTP_AMT.1.
Ananas Project: Summary
This is the source for Working XML, a column on developerWorks with companion project code that demonstrates the evolution of full-fledged XML applications. This is distributed under the artistic license.
Apache HTTP Server
The Apache project develops and maintains an open-source HTTP server for various modern desktop and server operating systems.
BlueHoc simulator
BlueHoc is a tool that predicts the performance of Bluetooth wireless hardware technologies. BlueHoc simulates the baseband and link layers of the Bluetooth specification.
COIN (Common Optimization INterface)
Developers can use Common Optimization INterface (COIN) to build optimization solutions. IBM mathematical optimization researchers opened the code they use in finding the optimal allocation of limited resources. The code has many applications in a variety of industries.
Channel Bonding
The Channel Bonding project works on methods to join multiple networks on Linux into a single logical network with higher bandwidth. The project team works with the Beowulf Ethernet Channel Bonding project, where bonding work began.
Consensus prototype
Consensus is a joint European project carried out by six companies. The project is partially funded by the European Commission. The project goal is to provide technology to support single-authoring for mobile devices. developerWorks hosts the open source implementation developed by the Consortium. Detailed information about the project is at the Consensus Project home page (http://www.consensus-online.org./
Content Query System (CQS) Project: Summary
Content Query System (CQS). CQS is a distributed peer-to-peer query system for the purpose of discovering content or data. XML messages are passed between systems and query "engines" are used to access the data that is being made available on the system.
Crypto Accelerator Driver
Device Driver Support for the IBM eServer Cryptographic Accelerator.
Crypto Interface Library
Generalized Interface library for the IBM eServer Cryptographic Accelerator Device Driver. Note, this is a low level api for the Specified adapter, it is not intended to be an interface which is written to by applications. Applications should use the openCryptoki PKCS#11 api for interfacing to the token.
Dynamic Probe Class Library (DPCL)
DPCL is an object-based C++ class library that allows tool developers and sophisticated tool users to build parallel and serial tools using a technology called dynamic instrumentation.
Embedded IBM PowerPC 4xx Linux Support
This project contains packages which enable add