Lotus Symphony
It's really easy to miss the point about the Lotus Symphony announcement yesterday. If you find yourself thinking "this will never take market share away from MS office," then you're missing the point. If you find yourself thinking "why would I run Symphony instead of OpenOffice.org 2.3?" then you're getting closer to the point.
A lot of people have already asked: why didn't IBM use OpenOffice 2.x when writing the Notes 8 productivity editor tools? While part of the reason is undoubtedly some code they had already written, another big part is the shift in licensing terms from OOo 1.x to 2.x. 2.x is licensed under the Lesser GPL. Let's look at one of the provisions of the LGPL
You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
There are other provisions that leave room for intepretation, but on this one point, the LGPL is crystal clear. If you make a derivative work, it must be free and open.
So, in order to use OpenOffice.org 2.x code, IBM must make the product free and open. That isn't going to happen with Notes (anytime soon, at least.)
But Symphony is free and open. And therefore it's a basis for IBM to start using the 2.x code stream in Symphony.
That also means that Notes 8 (and Sametime 8 and Expeditor Workplace and anything else IBM wants to build on the Eclipse platform) becomes a product that uses Symphony.
A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
So that means that Symphony can be redistributed and integrated with other products, without forcing those other products to be free. It makes Symphony a licensing bridge between OpenOffice.org 2 + and anything else in the IBM portfolio.
Now does it make sense why IBM joined the OOo team? Why they're commiting resources to work closer with Sun and the general open source community? It should. GPL code is very tricky from a copyright standpoint, but this approach gives IBM a basis for using it without compromising the letter or the spirit of the license agreement.
Will someone want to use Symphony as a replacement for MS Office if they're not already a Notes shop? Probably not. Maybe if they're trying to make a transition to Linux desktops and they want a productivity tool that is supported by a global IT organization.
But does making Symphony available mean that there's a way to upgrade it to OOo 2.x? Yep. And does that way allow the results to be bundled with Notes.next? I am not a lawyer, but it seems to me that it does.
What does a world where the productivity editors bundled with Notes are upgraded to the latest OpenOffice.org platform, working across Windows & Linux (and Mac next year) look like? Is that a more compelling offering? Will the availability of the OOo 2.x toolkit mean that we'll see better integration for Notes, Sametime, Connections and Quickr? Does it make a bit more sense why we didn't ALREADY see better integration with the 1.x tools?
One can argue that this might not work. I certainly have my doubts. But the plan here is a bit more complex than "we're trying to make an Office killer." It's "we're trying to deepen our ties with open source organizations so that we can harness that code without compromising our rights to our own stuff." Offering a free and open version of OpenOffice 2.x that's wrapped in Eclipse and includes the accessibility & internationalization improvements that IBM's worked so much on is key to doing this.




Comments
Posted by Chris Whisonant At 11:12:24 AM On 09/19/2007 | - Website - |
Posted by Stuart McIntyre At 11:15:07 AM On 09/19/2007 | - Website - |
Posted by Simon Scullion At 11:35:23 AM On 09/19/2007 | - Website - |
Posted by Mika Heinonen At 12:27:55 PM On 09/19/2007 | - Website - |
To use OOo 2.x code they would have to release the source of the productivity apps. But it would be perfectly possible to build an "IBM Productivity Apps Lib" that was used by Notes without entangling Notes with the LGPL. The source for the lib would be on the CD and availible for download etc, but they wouldn't have to turn the lib into an actual end user product.
That's not to say that releasing Symphony isn't a good idea, but there are many many pros and cons to this decision and I think it more to do with general market positioning than a simple matter of complying with the LGPL.
Posted by Kerr At 01:05:00 PM On 09/19/2007 | - Website - |
I understand where you're coming from Mika, but the argument just isn't going to hold water to a lawyer. There has to be a clean line for this stuff, or IBM ends up in another SCO suit.
@5 - "c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License." It's the WHOLE OF THE WORK part that's key.
There has to be a WHOLE WORK that is LGPL. That's Symphony. Once that's there, then Notes becomes a "work that uses the library" where the library is Symphony.
Remember, folks... OOo isn't plug & play into Eclipse. There's a LOT of work that has to take place to make OOo an RCP app. The original uses SWING.
Posted by Nathan T. Freeman At 03:05:46 PM On 09/19/2007 | - Website - |
I was really struggling to wrap my head around what they were trying to accomplish. It really seamed symilar to their brilliant moves a few years ago to kill notes and replace it with websphere (they marked that phase with constant statements about how they are not killing notes)
Posted by Dwight Wilbanks At 04:46:27 PM On 09/19/2007 | - Website - |
Many companies do it that way, they have some freeware version, and some commercial version with some additional features. If you want you can buy the commercial version, and if the freeware version is enough for you needs, be happy with it. Or if you don't like either, don't use them.
Posted by Mika Heinonen At 05:13:25 PM On 09/19/2007 | - Website - |
Under no circumstance does releasing an application suite, like Symphony, that *uses* an LGPL library make any difference to another application that also uses that library. Notes will also share code with Symphony that is not part of the LGPL library.
Posted by Kerr At 06:15:24 PM On 09/19/2007 | - Website - |
{ Link }
Posted by Nathan T. Freeman At 12:04:59 AM On 09/20/2007 | - Website - |
Posted by Jesper Kiaer At 04:23:38 AM On 09/20/2007 | - Website - |
Really, IBM can take code from OOo, under LGPL and give it to team A. Team A can modify that to there hearts' content, compile it as a library and then give it team B. Team A nead to release the sourse for thier work. Team B can statically link to that library and their work would NOT be encumbered with LGPL. If team A need the library to do something, they can ask team A to do it. As long as the library can be compiled without requiring code from team B then that is fine. The only thing that team B need to do to remain compliant with the LGPL is provide *object* code that would enable a third party to alter the library and relink it back into team B's code. But that's all.
If you want to define Symphony as team A's work then that's fine, but I don't think that isn't what IBM are saying, unless I've missed something. I'd say that Symphony is team B's work. Team C could also use team A's work entirely independently of team B. Guess who team C is?
Posted by Kerr At 04:54:22 AM On 09/20/2007 | - Website - |
Posted by Kerr At 04:56:03 AM On 09/20/2007 | - Website - |
Obviously I didn't do a very good job of it!
Posted by Nathan T. Freeman At 06:29:23 AM On 09/20/2007 | - Website - |
Unless I've also missed the whole point of your post, you are claiming that releasing Symphony *as a product* is some how required for the productivity apps in Notes to use code from OOo without encumbering the whole Notes codebase. That argument simply doesn't hold.
The release of Symphony *as a product* rather that just some source included on the Notes CD, is driven by market positioning, not legal.
Posted by Kerr At 09:15:35 AM On 09/20/2007 | - Website - |
Great post. This has huge implications.
Posted by Erik Brooks At 10:41:59 AM On 09/20/2007 | - Website - |
I'm afraid you're confusing free and free. To quote the FSF on free software: "[...] you should think of 'free' as in 'free speech', not as in 'free beer'." { Link }
Neither GPL nor LGPL require anyone to give binaries away for free. Many Linux distributors sell their products. The LGPL explicitly says:
" You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee."
The licenses only require, under certain circumstances, the /source code/ to be made available at no additional cost.
I don't think IBM will give away the Symphony source code, do they? Symphony is not open, only free as in 'free beer'. So they cannot use code licensed under the GPL or LGPL. They must have licensed OOo code under a different license.
Posted by Oreg At 01:26:47 PM On 09/20/2007 | - Website - |
Posted by Mika Heinonen At 02:00:11 PM On 09/20/2007 | - Website - |
Posted by John Head At 03:06:07 PM On 09/20/2007 | - Website - |
However, now that Symphony is out there as free and open, if the NEXT version uses OOo 2.x, it can be distributed *without affecting IBM's copyright claims to Notes.*
Maybe I've dealt with a few too many lawyers to not see why this is so critical.
Without Symphony, there is no whole work to distribute as free and open. There is only Notes 8, which is not free and open. Whatever the licensing terms of OOo 1.x, 2.x is LGPL, which requires a WHOLE WORK that is under the LGPL. Symphony can be that. Notes 8 can't. Period, full stop.
@17 - Oreg, I must respectfully disagree. I reiterate...
"c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License."
And yes, if you download Symphony, you can unpack the JAR files (just like Notes 8.) And those are .class files, with the source code. Or, to be more precise, I haven't found one that didn't have all the source in it yet.
I welcome an example of such that I missed.
Posted by Nathan T. Freeman At 09:46:40 PM On 09/20/2007 | - Website - |
"Without Symphony, there is no whole work to distribute as free and open."
That's not correct. It comes down to how do you define "the work"? This is defined by how it is compiled and linked. All the code required to compile the library is what counts as "the work". Anything that just uses that library is not. The library can do what ever you want it to. It doesn't have to be a end user application.
Let me use an example. Say OOo have a library for doing file format conversions. IBM decide that they want to use it with Notes. They can quite happily do that without releasing Notes under the LGPL. Assuming Notes was statically linked to the library, IBM's obligation would be to 1. provide the source of the library. 2. provide object code for Notes that would enable a third party to modify the library recompile it and statically link Notes to it again.
If IBM then decided that they had a great enhancement to the Library, say better support for smartsuite files, they would have to release the code they put in the library. If for some bizarre reason IBM modified the library so that it couldn't be compiled without the Notes source, the Notes source would also have to be released. But IBM would never do that.
So IBM can quite happily take code from OOo, modify it package it up as "the whole of the work" provide the source, and link it into Notes, without encumbering Notes with the LGPL. Releasing Symphony *as a product* is not *required* for them to do that.
Also the LGPL and GPL can never, under any circumstance, affect IBM's copyright claims to Notes.
Posted by Kerr At 06:43:36 AM On 09/21/2007 | - Website - |
Step 1: Take GPL code off 'net
Step 2: Check GPL code into build library for nnotes.dll
Step 3: Build and ship the product
Step 4: Wait for call from gpl-violations.org
It's the Sue-O-Matic. Yes it's just. That. Easy!
That's why IBM requires that employees and contractors provide documentation on the origin of code that gets shipped with ANY IBM product.
Posted by Nathan T. Freeman At 06:54:37 AM On 09/21/2007 | - Website - |
"Step 1: Take GPL code off 'net"
We're talking about LGPL.
"Step 2: Check GPL code into build library for nnotes.dll"
Who's talking about putting the code into nnotes.dll?
"When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library."
"5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License."
So lets try that again.
Step 1: Take LGPL code OOo.dll off 'net
Step 2: Modify it creating OOo2.dll
Step 3: Link nnotes.dll to OOo2.dll
Step 4: Build and ship the product, including source to OOo2.dll, but not nnotes.dll.
Step 5: Count the money.
No violation of the LGPL there. IBM should of course still have procedures in place to verify the origin of all code it uses, so that it can be managed appropriately. You wouldn't want any code from OOo.dll to accidentally slip into nnotes.dll, that would be Sue-O-Matic.
Posted by Kerr At 07:38:39 AM On 09/21/2007 | - Website - |
"Also the LGPL and GPL can never, under any circumstance, affect IBM's copyright claims to Notes."
So I describe just such a circumstance, and you call it a strawman.
W
T
F
?
You're the one that said GPL and "under any circumstance."
Posted by Nathan T. Freeman At 07:40:38 AM On 09/21/2007 | - Website - |
The lawyers from gpl-violations.org would be taking a bite out of their ass for violations to the licensing terms of other peoples copyrighted code. Code that IBM did not own the copyright to and hadn't followed the licence of. The copyright of the code IBM owns for Notes would never come in to it. They own it. They can do whatever they like with it.
Posted by Kerr At 07:50:15 AM On 09/21/2007 | - Website - |
Posted by Ben Langhinrichs At 03:00:10 PM On 09/21/2007 | - Website - |
Microsoft has also started an OpenSource initiative and they don't care about GPL and LGPL, they just invented their own: MPL!
Shouldn't we talk about the technical side rather than speculating about some legal issues, which can be solved by money anyway.
Posted by Mika Heinonen At 03:10:49 PM On 09/21/2007 | - Website - |
Nathan simply made a point that having Symphony released as an end user product is required for Notes productivity editors to use OOo 2.x code. I think that's nonsense for a few reasons and we are having a little debate about it. It's happened to have gone down the line of a discussion of the finer points of the LGPL, but I'm aware of the other issues, they just happen to not be part of the points being debated.
No harm in that is there? Or do you think that by discussing it we are somehow creating a terrible situation?
Nathan, I hope you aren't taking any of this personally btw. I finding this quite fun.
Posted by Kerr At 04:11:08 PM On 09/21/2007 | - Website - |
So, having said that, what do you all think the difficult to guess implications will be of releasing Symphony, both technically and from a business angle?
Posted by Ben Langhinrichs At 04:18:02 PM On 09/21/2007 | - Website - |
Posted by Mika Heinonen At 04:27:33 PM On 09/21/2007 | - Website - |
So now there's another product in the mix. It's funny how the "dual-lane highway" plan of a few years ago has changed...
Posted by Erik Brooks At 11:29:46 PM On 09/21/2007 | - Website - |
My guess at what will actually happen is that Lotus will licence the pluggin level code as LGPL. The complete Symphony suite as a download will not be LGPL as that includes expeditor and they won't LGPL that. The same pluggin level code will be what will be plugged into notes. With any luck third parties could take the pluggin code and develop their own inovative apps on top of Eclipse RPC.
Posted by Kerr At 08:08:50 AM On 09/22/2007 | - Website - |
Anyway, Nathan, I just wanted to jump on the pile and thank you for that explanation. A bunch of us have been scratching our heads about Symphony/Productivity Tools quite loudly over at Ed's blog. I dropped a link of this thread over there.
Peace
Posted by Samuel deHuszar Allen At 03:28:16 PM On 09/25/2007 | - Website - |