Bug 293637 - Discuss Ribbon Licensing with Microsoft
Summary: Discuss Ribbon Licensing with Microsoft
Status: CLOSED WONTFIX
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: Process (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Management Organization CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 90145 298481
  Show dependency tree
 
Reported: 2009-10-29 02:19 EDT by Gunnar Wagenknecht CLA
Modified: 2014-01-20 12:02 EST (History)
28 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gunnar Wagenknecht CLA 2009-10-29 02:19:19 EDT
Now that Microsoft made some larger announcements regarding their support for Eclipse, I think we should start a discussion with them on the usage of the Ribbon Toolbar in Eclipse projects.

Ideally, it would be possible to find a way to allow SWT to develop an API and to allow projects using it.
Comment 1 Krzysztof Daniel CLA 2009-12-04 03:41:42 EST
All opinions stated below are my private opinions.

Maybe a couple of words about Microsoft Ribbon Licensing:

There is a lot of controversy about it:
(1) Ribbon cannot be used in any software that competes MS Office. This is very broad definition.
(2) Ribbon must be licensed by each adopter. If Eclipse will provide Ribbon, than every RCP application with Ribbon must be licensed. This violates EPL.
(3) Ribbon specification is under NDA. You don't know what actually Ribbon is, until you sign that paper.
(4) Ribbon specification can change at any time, and you have specified period of time to change your implementation details. Otherwise licensing is terminated.
(5) Microsoft gives you no code. You have to implement everything by yourself.

Yet more controversy:
(6) Some bloggers claim that M$ pretends to give for free something that is actually free. Ribbon was used before by other applications, maybe in slightly different shape (do you remember delphi?) but since you do not know Ribbon specification, you cannot write something that will follow it.
(7) Open Office started work on quite similar approach (see http://blogs.sun.com/GullFOSS/entry/prototyping_a_new_ui_july) and so far was not sued.
(8) I can't remember details, but it seems that M$ won the right to mimic Apple graphical pulpit.
(9) I asked M$ about explanation about (#6). Questions were:
   (*) Why M$ licences something that was previously used in open source?
       (answer:) M$ Ribbon is something different from those ribbons.
   (*) In that case, if I implement my own ribbon, it will be different from M$ one, do I need to license?
       (no answer).

Note that by Licencing Ribbon under EPL (whatever it means) Microsoft will licence it actually to whole world, so I do not think that talking to M$ can help in any way.

Having in mind (6),(7),(9) I do not see a safe way to include Ribbon into UI, unless you want to write something similar to ribbon and check M$ in legal affair.
Comment 2 Alex Richardson CLA 2009-12-05 08:30:39 EST
Please do not use ribbons in Eclipse, they are absolutely counterproductive and waste space.
Comment 3 Elias Volanakis CLA 2009-12-19 18:34:00 EST
The comments below are entirely my private opinion. I am not a lawyer.

1. Windows 7 (and Vista as a patch) comes with it's own implementation of the ribbon. This is exposed via APIs to applications. I believe this is a different implementation than the ribbon included in the Office UI and therefore a different license might apply. It would be great to officially clarify this. If this can be resolved favourably, it opens the way to include support for the "native" ribbon (for example in SWT). Since Windows is the primary platform for Eclipse and Eclipse RCP (~80% download rate according to the latest stats), I think it is a very worthwhile goal, for making RCP apps look good on that platform.

2. With regard to the "Office UI" license agreement [1]. From my layman's POV, the need to enter into this agreement is not clear cut. Personally I believe (but have not researched) that an independently developed implementation, that looks sufficiently different could stand on it's own. It would also be interesting to clarify this. It would open the way to include a java-based ribbon-like widget with Eclipse.

3. On the pitfalls of the "Office UI" license agreement [1]: The sub-licensing and usage restrictions are regrettable, but I could live with those. However what I consider a "poison pill" clause is that you agree that your independent implementation will be fully compliant with the technical specs (which can only be obtained with a separate agreement). I stopped at this point, since I believe reading the spec would take away my ability to assert that any work done by myself in that area is entirely based on my own knowledge. Second, agreeing to fully implement the spec is a very clever way of raising the amount of work required. The native toolbar has some very cool features (like dynamic scaling), which are non-trivial from my POV.

[1] http://msdn.microsoft.com/en-us/office/aa973809.aspx

Looking forward I believe that having native of emulated support for a Ribbon-like UI would help making Eclipse RCP an more interesting platform on Windows 7 (and Vista). I hope to find more people that agree and support this goal :-).
Comment 4 Elias Volanakis CLA 2009-12-19 18:40:27 EST
One more thing worth mentioning is this email from Mike Milinkovich on a recent discussion about the ribbon on e4-dev:

"If there is a consensus amongst the e4 team that you would like the EMO to evaluate Microsoft’s legal terms, please send a request to license@eclipse.org or open a CQ. We’re happy to help."

http://dev.eclipse.org/mhonarc/lists/e4-dev/msg02113.html
Comment 5 Xiang Qinxian CLA 2009-12-20 01:03:52 EST
I have a question:
If just learn some concepts from ribbon and develop a new style,
the M$it license still make constaint?
Comment 6 Gunnar Wagenknecht CLA 2009-12-21 02:32:20 EST
(In reply to comment #4)
> "If there is a consensus amongst the e4 team that you would like the EMO to
> evaluate Microsoft’s legal terms, please send a request to license@eclipse.org
> or open a CQ. We’re happy to help."

CC'ing Mike to make him aware of his quote. 

Meanwhile, did anybody opened a CQ and can post a cross reference here?
Comment 7 Elias Volanakis CLA 2009-12-21 06:41:26 EST
Hi Gunnar,

I presume you mean a new CQ ? To my knowledge, no.

There is CQ #3187 about the Hexapixel Ribbon which was closed as WONTFIX (though my understanding is without answering if the microsoft license is required for this work).

Should I open a CQ for Questions 1 and 2 from my previous comment?
Comment 8 Susan McCourt CLA 2010-01-13 15:13:20 EST
(In reply to comment #7)
> Hi Gunnar,
> 
> I presume you mean a new CQ ? To my knowledge, no.
> 
> There is CQ #3187 about the Hexapixel Ribbon which was closed as WONTFIX
> (though my understanding is without answering if the microsoft license is
> required for this work).
> 
> Should I open a CQ for Questions 1 and 2 from my previous comment?

I've just emailed Mike and license@eclipse.org to determine how best to proceed...
Comment 9 Susan McCourt CLA 2010-01-14 13:31:09 EST
(In reply to comment #7)
> Hi Gunnar,
> 
> I presume you mean a new CQ ? To my knowledge, no.
> 
> There is CQ #3187 about the Hexapixel Ribbon which was closed as WONTFIX
> (though my understanding is without answering if the microsoft license is
> required for this work).
> 
> Should I open a CQ for Questions 1 and 2 from my previous comment?

Yes, Elias, could you open a new CQ (and cc me)?  I'm kind of confused by the result of CQ #3187 and whether the problem was the MS license wrt emulation or a more general problem.
Comment 10 Elias Volanakis CLA 2010-01-14 14:44:43 EST
@Susan: will open a new CQ.

I'm confused by the old CQ myself. I think it was closed without providing any answers to the questions about ribbon licensing. Two things that interest me in that area are: (a) is it ok to create something similar to in written in java independently?  (b) if I was to reuse the new ribbon (windows 7) does this still fall under the office UI license.
Comment 11 Susan McCourt CLA 2010-01-20 16:03:17 EST
fyi, I opened CQ #3711.
https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3711
Comment 12 Susan McCourt CLA 2010-02-02 13:47:57 EST
Sorry to report this, but according to the latest comments in CQ #3711, using the Windows 7 Ribbon Framework to build a UI still falls under the MS Office UI license and therefore is still unacceptable.  From the CQ:

--------
Microsoft appears to have attached value to the intellectual property related
to the Ribbon UI (among other things).[1]  Accordingly, they have implemented
the Office UI Licensing program.[2]   That program is intended to provide
developers the rights to make their licensed products look and behave like the
Ribbon UI in Office 2007.   It appears that the license provided with the
Office UI Licensing program is the one applicable here, and is also the one
discussed in CQ3187.  Unfortunately, it is not suitable for use within Eclipse. 

[1]
http://blogs.msdn.com/jensenh/archive/2006/11/21/licensing-the-2007-microsoft-office-user-interface.aspx

[2] http://msdn.microsoft.com/en-ca/office/aa973809.aspx
--------

That being said, I don't see that we would adopt a ribbon-like UI in the SDK without someone in the community undertaking an effort to work with Microsoft to change the status quo.  

One could possibly argue that SWT could make a ribbon available as API, not use it in the SDK itself, and allow consuming products to decide whether to adopt the licensing terms in their own projects/products.  I've posed this question in the CQ to get a legal answer.

If that is acceptable, then an SWT ribbon framework implementation (bug 90145) would become a matter of resource and priority - making a case for an implementation in spite of the fact that the SDK cannot use it.
Comment 13 Gunnar Wagenknecht CLA 2010-02-04 08:35:48 EST
(In reply to comment #12)
> Sorry to report this, but according to the latest comments in CQ #3711, using
> the Windows 7 Ribbon Framework to build a UI still falls under the MS Office UI
> license and therefore is still unacceptable.

It seems that we now have clarity on the status quo. However, from my understanding, Microsoft made a commitment to supporting Eclipse and other Open Source communities. What are the next steps to start a discussion with Microsoft about thats status quo?
Comment 14 Mike Milinkovich CLA 2010-02-04 10:33:15 EST
(In reply to comment #13)
> It seems that we now have clarity on the status quo. However, from my
> understanding, Microsoft made a commitment to supporting Eclipse and other Open
> Source communities. What are the next steps to start a discussion with
> Microsoft about thats status quo?

Gunnar,

We are already having direct conversations with Microsoft on this topic. I am on this issue personally.

Don't get your hopes up.
Comment 15 Alex Blewitt CLA 2010-02-04 15:06:21 EST
(In reply to comment #14)
> We are already having direct conversations with Microsoft on this topic. I am
> on this issue personally.
> 
> Don't get your hopes up.

I think any API which involves specific licensing conditions should not be a part of SWT. For that matter, the Ribbon is (a) something which is Microsoft-specific, and (b) as ugly as heck anyway. I really hate the ribbon with a passion at work, as it gets in my way and prevents me from using my apps, rather than being a facilitator.

It's just as well there's no concept of the Ribbon on the Mac, as otherwise I'd go spare. 

So, in summary; 
- It is probably something that can't be sensibly licensed
- It is probably something that shouldn't be used even if it were licensed
Comment 16 Matthew Hall CLA 2010-02-04 22:11:49 EST
(In reply to comment #15)
> For that matter, the Ribbon is (a) something which is
> Microsoft-specific, and (b) as ugly as heck anyway.

What a productive comment.
Comment 17 Krzysztof Daniel CLA 2010-02-05 12:18:20 EST
Guys,
EPL gives much more freedom than Ribbon UI License. You would not need M$ license if you had EPL.

M$ Open Source Initiative is for making Windows default developer environment. It had low budget and was actually built from people scattered across different departments to allow for better integration of Open Source and Windows.

If I were M$, I'd not agree to loose the control over the ribbon unless I'd be sure nobody can use it to compete with me.

I believe that Eclipse has to come up with its own concept of UI which will be able to compete with the Ribbon and will be truly cross-platform widget. Such situation happened in the past for f.e. SWT or Java Compiler.

Wikipedia [1] shows that many concepts of ribbon existed before M$ came up with its own, so I do not see any reason why we could not do that on our own.

[1] http://en.wikipedia.org/wiki/Ribbon_%28computing%29
Comment 18 Matthew Hall CLA 2010-02-24 01:09:45 EST
(In reply to comment #17)
> EPL gives much more freedom than Ribbon UI License. You would not need M$
> license if you had EPL.

Christopher,

While I appreciate and share your enthusiasm for open source, we should avoid antagonizing phrases like "M$" in our public discourse.  Regardless of your personal feelings about ribbon licensing, the practical reality is that we need to find common ground with Microsoft on this one before this bug can move forward.  So let's be civil and hope for a good outcome.
Comment 19 Krzysztof Daniel CLA 2010-02-24 02:00:07 EST
I am saying sorry to all (especially Microsoft), I should not have expressed myself in that way.
Comment 20 Mike Milinkovich CLA 2010-03-08 14:00:20 EST
(In reply to comment #14)
> (In reply to comment #13)
> We are already having direct conversations with Microsoft on this topic. I am
> on this issue personally.
> 
> Don't get your hopes up.

It appears that my pessimism was warranted. I have spoken to the good people at Microsoft and there is no possibility at the moment of getting a license for their ribbon-related IP that would allow our community to build implementations licensed under the EPL.
Comment 21 Gunnar Wagenknecht CLA 2010-03-08 16:12:47 EST
(In reply to comment #20)
> It appears that my pessimism was warranted. I have spoken to the good people at
> Microsoft and there is no possibility at the moment of getting a license for
> their ribbon-related IP that would allow our community to build implementations
> licensed under the EPL.

Those are vary sad news. :(

Thanks Mike and team for your involvement and investment into this discussion. But hopes die last. Maybe there will be some change in the future which would all an implementation and adoption in Eclipse. I'll keep my fingers crossed!
Comment 22 Mike Milinkovich CLA 2010-07-21 17:08:24 EDT
As per comment #20, I'm closing this as won't fix.
Comment 23 Romain Bioteau CLA 2012-09-13 02:49:13 EDT
Hi, 
Is there a way to re contact microsoft about this.
2 years later we can hope that they have update their policy.

If someone knows a contact at Microsoft to ask them, I'll be glad to make a try.

Thanks
Comment 24 Mike Milinkovich CLA 2012-09-18 13:58:12 EDT
I will ask Microsoft again.

But I sincerely doubt that there are any changes whatsoever in their licensing requirements.
Comment 25 Mik Kersten CLA 2012-09-18 16:07:58 EDT
Ditto on what Mike said.  Tasktop and I have been involved in pushing Eclipse on Windows efforts of this sort with Microsoft's support in the past, but there hasn't been much support on that front lately.  If there is interest in the community from this I think that it should be raised with Microsoft's Interoperabilty channels: http://www.microsoft.com/en-us/openness/default.aspx#about
Comment 26 R. Oldenburg CLA 2014-01-17 06:27:54 EST
Hi,

what about current situation? The Office UI licensing program is now retired. 
http://msdn.microsoft.com/en-US/office/aa973809.aspx

Would it be possible now to encapsulate the Ribbon API in SWT? Maybe as Part of e4?
Comment 27 Mike Milinkovich CLA 2014-01-17 11:35:18 EST
(In reply to R. Oldenburg from comment #26)
> Hi,
> 
> what about current situation? The Office UI licensing program is now
> retired. 
> http://msdn.microsoft.com/en-US/office/aa973809.aspx
> 
> Would it be possible now to encapsulate the Ribbon API in SWT? Maybe as Part
> of e4?

I don't see how the new licensing model changes anything. It is still a set of proprietary licenses, which are still tied to Windows only. 

If you think I am mis-reading the situation, please respond here.
Comment 28 R. Oldenburg CLA 2014-01-17 12:24:16 EST
I would not dare to tell that one of you guys is mis-reading anything. You all seem to be investigating on this topic for years now...

It was just another glimpse of hope on my side as I stumbled across that "retired" licensing site. The previous comments here often referred to that "Office UI licensing" being a problem.

The site now (don't know how long already) says "Microsoft no longer has a separate Office Ribbon UI licensing program".
What I understood (from my supposedly naive POV) was: You can now freely use the Ribbon API - the same way as all the other API parts from windows. 

Of course there is good chance that I overlooked something...
Comment 29 R. Oldenburg CLA 2014-01-17 12:27:01 EST
ok. Just read that line: "The license terms associated with the Microsoft developer framework will apply."

That's the remaining problem, right?
Comment 30 R. Oldenburg CLA 2014-01-17 18:05:04 EST
Sorry guys. I still don't get it.

If you take a look here:
http://stackoverflow.com/questions/1948390/windows-7-ribbon-licensing-vs-office-2007-ribbon-licensing

Or here:
http://social.msdn.microsoft.com/Forums/windowsdesktop/de-DE/b43aa9cc-0aac-44b5-afb9-af66a9997225/what-is-the-windows-ribbon-license?forum=windowsribbondevelopment

It is said there that "Just like Windows common controls, there are no unusual licensing requirements involved when using the Windows Ribbon framework in your applications."

If that is true I am really confused. Doesn't swt already use comctl32.dll? So if there is no diff to windows ribbon where is the legal issue?
Comment 31 Mike Milinkovich CLA 2014-01-20 12:02:29 EST
(In reply to R. Oldenburg from comment #30)
> If that is true I am really confused. Doesn't swt already use comctl32.dll?
> So if there is no diff to windows ribbon where is the legal issue?

Seems at least plausible. 

If a committer could open a CQ, we will take a deeper look.

Something like this might make more sense in Nebula than SWT?