Slashdot Log In
Should IBM's SOM/DSOM Be Open Sourced?
Posted by
kdawson
on Sat Feb 09, 2008 11:41 PM
from the what-made-it-great dept.
from the what-made-it-great dept.
Esther Schindler sends a note about two journalists for very different publications (herself one of them) urging IBM to open-source, not all of OS/2 — they've consistently refused to do that — but instead one of its most powerful features: SOM, the System Object Model. Steven J. Vaughan-Nichols writes at desktoplinux.com, "IBM, I'm told by developers who should know, still has all of SOM's source code and it all belongs to IBM. It's because IBM doesn't have all the code for OS/2 and some of it belongs to Microsoft that IBM open-sourcing OS/2 has proven to be a futile hope." And Esther Schindler takes the developer angle in a blog post at CIO.com: "Could the open-source community use a library packaging technology that enables languages to share class libraries regardless of the language an application was written in? I dare say it could, especially since the code to accomplish that goal was written (and shelved) more than ten years ago. All it takes to make that code available is to ask IBM to release SOM and DSOM as open-source." What are the business issues that would convince IBM to assent?
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
To late? (Score:2)
Re: (Score:3, Informative)
Set itself apart from what exactly?... Unix (variations) has used/had/does have SOM...
You must mean AIX - or you are predicting the future when IBM open sources SOM so your statement comes true...
and so has Apple, however Steve Jobs ended that "idea" when he returned to Apple...
You mean Taligent? Which was an IBM & Apple co-project?
Microsoft has a very similar concept COM+
You mean MS markets something they pretend is very similar, but any programmer who has used both will tell you they are light years apart, and that no matter how many ++++++++ MS adds to the end of COM, or how many times they change the name of OLE, it still will be light years behind SOM/DSOM.
You ARE on the right track with all o
Re: (Score:2)
No he was referring to OpenDoc [wikipedia.org] another IBM/Apple co-project which was all based on SOM/DSOM.
Re: (Score:2)
Oooops! Long night for me... yes I mean OpenDoc. :-) Thanks for correcting that for me.
-Rob
Re: (Score:3, Informative)
The following quote supports the parent's point
The most notable difference between SOM and COM is support for inheritance -- COM does not have any. It might seem odd that Microsoft produced an object library system that could not support one of the most fundamental concepts of OO programming, but they did have their reasons. The main issue is that it is difficult to know where a base class exists in a system where libraries are loaded in potentially random order. COM demands that the programmer specify the exact base class at compile time, making it impossible to insert other derived classes in the middle (at least in other COM libraries).
SOM instead uses a simple algorithm, looking for potential base classes by following the inheritance tree and stopping at the first one that matches; this is the basic idea behind inheritance in most cases. The downside to this approach is that it is possible that new versions of this base class may no longer work even if the API remains the same. This possibility exists in any program, not only those using a shared library, but problem can become very difficult to track down if it exists in someone else's code. In SOM only solution is extensive testing of new versions of libraries, which is not always easy.
Re: (Score:2)
Anonymous coward: SHUT UP!
Who needs the code? (Score:3, Interesting)
Re:Who needs the code? (Score:5, Interesting)
Sadly no - on all counts. In over a decade and a half, no one (but maybe Apple) came close. DSOM/SOM hasn't been worked on in many years, and still, with kludge after kludge, MS cant come close. (some of) The Linux community wanted the WPS open sourced just because of how powerful it was - even though I dont think they even realized that it meant also open sourcing SOM/DSOM. With many attempts at numerous windowing environments, though the Linux community has made both some pretty and some pretty useful windowing environments, they still haven't come close...
And of course, SOM/DSOM is far more than the WPS... (just a requirement for the WPS to work).
Also, saying SOM/DSOM is just "the idea of how something is done" is like looking at cars, bicycles, sneakers and skateboards and calling the car engine "an idea of how something moves" - it is far more than that. It is a technology that allows anyone on almost any language, to interact with and integrate with any other device, network resource, app, GUI or OS that is SOM/DSOM enabled. Almost 8? 10? years of little to no development on SOM/DSOM and there is still nothing half as powerful for any PC based operating system. Yeah, MS can keep writing inelegant, bloated (which is a massive understatement when compared to SOMObjects of better capabilities) kludges to achieve some of the functionality on a limited scale...
SOM/DSOM is truly what most OO programmers truly want - even if they dont know it (which would simply be because they dont understand it, or love VB that much).
Parent
Linux doesn't need it. It has D-BUS (Score:5, Interesting)
It's MUCH MUCH easier to use than COM or SOM. And I still remember working with OpenDoc, so I don't really share good feelings toward SOM.
Parent
Re: (Score:3, Informative)
Anyway, COM isn't hard to learn - it's actually incredibly simple. It's all the OLE2 related stuff that makes a mess of programming visual components. Steer clear of automation, OLE and it's pretty easy to knock up stuff in COM.
Re: (Score:3, Interesting)
Re: (Score:2)
It's much easier to use GObjects or KParts or your favorite component tool. And then use D-BUS to connect all of them together (for drag&drop, for example).
Objective-C bridging? (Score:2)
Not ever having used SOM I can't compare it directly but it seems to me that the basic idea is to have an object model with a hard to break ABI (i.e. you can add methods without breaking it) and interoperability with other languages.
Apple has distilled various Objective-C bridging efforts into a common bridge library that is now used by PyObjC (which predates the Apple/NeXT merger) and RubyCocoa and is slated for use with .NET. By virtue of being able to mix Objective-C into a C or C++ file (more or less
object models... (Score:2)
There's various incarnations of CORBA on linux, COM on windows, XPCOM which is used for firefox components, DBUS on Gnome and now KDE.
Component software is a Good Thing(tm), but all the various implementations essentially do the same thing, which is to allow a cross language interface to be specified in a way that doesn't require wrapper libraries to be written. Also, it is common to include some kind of remote procedure call specification.
>>In over a
Re: (Score:2, Informative)
Smalltalk / Squeak has been doing something similar for years. Anything in the system can message anything else. System components / GUI elements can be freely inspected, subclassed, modified - and a
Re: (Score:2)
Re:Who needs the code? (Score:4, Insightful)
Parent
nobody has really tried (Score:3, Interesting)
Where's the 'notgonnahappen' tag? (Score:2)
Re: (Score:3, Insightful)
IBM Open-sourcing Experience (Score:3, Insightful)
That said, SOM & DSOM are old tech from the dinosaur mainframe days. With so many distributed apps using more flexible interoperating technologies (SOAP, XMP-RPC etc) I don't really think open sourcing D/SOM will make that big of a difference to most new application developers.
Re: (Score:2)
I used to work within IBM, and here is the story I got from a senior developer...
Eclipse was a rogue project within IBM whose purpose was to take down MS Visual Studio 97. When it became obvious that there was absolutely no way that Windows developers who were used to the speed, ease of use, and rather decent integration with Windows of VS97 would shell out money for a Java-based IDE with its own oddball help system, poor integration with the Win32 toolchain, and most importantly was slow as m
Re: (Score:2)
Licensing and open source (Score:5, Insightful)
Unluckily with GPL you can get into issues of whether closed source or just incompatible licensed libraries can be added. One of the ideas behind SOM/DSOM was that anyone could write a DLL and extend the WPS. Now it seems that in free software land you often have to worry about incompatible licenses.
If IBM ever does open source SOM/DSOM I hope it is with something liberal like the LGPL. Don't have to think about issues with linking and the important source stays open.
Re: (Score:3, Informative)
Its already there (Score:3, Funny)
Its called .NET or Mono
Re: (Score:2, Insightful)
Re: (Score:3, Informative)
this is a bit different. for one, it allows you to redefine how an API is implemented. imagine a generic database API. instead of programming to a client library, all software can be written to a single standard API that then has its guts replaced with a simple call to be database specific. need to move from mysql to postgres and have 30-40 different maintenance programs and scripts that are
It's the best outcome (Score:4, Interesting)
Open Source should be the default "archive" choice (Score:4, Insightful)
A Big Computer Giant (BCG) purports to be very Open Source friendly. They defend OSS products and licenses, even using their own lawyers, and make a lot of money using/supporting OSS, in their own hardware, and in huge consulting contracts. It turns out they have this collection of source code that they aren't really using anymore, and they have complete rights to at least part of it. Let's just say they only have 2 real options when archiving the source code they own the rights to:
1. Keep it locked in some internal media or shelf, never to see the light of day, unless an internal developer finds it interesting and digs it up for an internal-only project. The internal project may never see the light of day either.
2. Put it on the Internet, and Open Source License it, preferably with an existing OSI license. Not only could the online repository be considered the source "archive", but it also leaves the possibility of growing a redundant, living archive. The source could then be provided by various OSS repositories and mirror hosts.
I know I'm preaching to the choir here, but shouldn't #2 always be the default, or at least the first option considered? Even if you're not an OSS nut (like me), you have to admit the hypothetical company looks pretty darn hypocritical if they don't choose #2, when given the choice, early and often.
So am I using a hypothetical situation to say that IBM (BCG) is a big hypocrite if they DON'T release and apply an OSI License to SOM/DSOM source, ASAP? Why yes I am! How could you tell?...
Re:Open Source should be the default "archive" cho (Score:3, Insightful)
1. it takes time to look over something to make it ready to see the light of day. You have a reputation to uphold.
2. you might want to make money off the software, now or in the future. as much as i love and support an
Re:Open Source should be the default "archive" cho (Score:3, Insightful)
Re: (Score:2)
As another poster in this sub-thread said, open sourcing any code isn't free at all.
Re:Open Source should be the default "archive" cho (Score:2)
Re:Open Source should be the default "archive" cho (Score:2)
And that's when Netscape was the most popular browser, not some 12 year old abandonware desktop middleware that nobody used in the first place.
I don't think anyone active in the OSS desktop community wants a bunch of old unpopular OS2 crap. If anything, they have too many duplicate component models and they need to start standardizing, not add a new one.
Maybe because it would cost them money? (Score:2)
Of Course! (Score:4, Funny)
Re: (Score:2, Funny)
Re: (Score:2, Insightful)
Re: (Score:2)
Not unless you're using Firmament Beta 12. The latest stable release only supports Skies with 4 bits per pixel.
Re: (Score:2)
Re: (Score:2)
Absolute cleanliness is Godliness! Balanced food for mind-body-soul-spirit is our medicine! Full-truth our God, half-truth our enemy, hard work our salvation, unity our goal, free speech our weapon!
Business issues for open-sourcing SOM/DSOM (Score:4, Funny)
CORBA? (Score:2)
The only thing I can point to is GUI components, but those were either tied to a specific implementation (OS/2) or to an additional frameword (OpenDoc) and I am not sure they would be of much value.
SOM = CORBA 1.0 (Score:3, Interesting)
And for the person who mentioned Apple... Apple implemented a subset of SOM specifically for OpenDoc. Though highly cool at the time, it was too castrated to be useful and has been surpased by other technologies for robustness (like J2SE/J2EE). Don't forget cool stuff like Spring... Lots has changed in 10 years.
Is it useful? (Score:2)
Some of the ideas may survive in new solutions, but it can be a really bad idea to take this out of concept and trying to graft it upon a different platform. The amount of work involved for that operation may exceed the amount of work to re-create the functionality without source.
Why is SOM / DSOM needed? (Score:2)
If Linux really wants language neutral interface bindings, it already has it. There are numerous CORBA implementations, idl compilers and so on. For example GNOME offers ORBit (a Corba implementation) for embedding UI components via Bonobo. Bonbo appears deprecated and is bei
Not much worth without the WPS (Score:2)
What was realy cool was the only real application build with the SOM: The Workplace Shell. Neither KDE nor GNOME can to what the WPS could do.
You Don't Want It (Score:5, Informative)
If you like SOM & Workplace Shell features you'll find it far easier to implement on top of Qt/KDE or wxWidgets or a smart functional integration of some Boost library features & a GUI than you'd ever have hopes of getting that code to work with anything modern or useful today. I loved OS/2. Borland had a Beautiful C++ compiler for it and CSet/2 was one of the better standards compliant compilers at the time as well. They're all bit rot by now though. Appreciate the memories but let this one die.
Re: (Score:3, Informative)
No, Bonobo failed and is being phased out: http://live.gnome.org/Bonobo [gnome.org]