Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 346823

Summary: Should installing new features present a license agreement to user?
Product: Community Reporter: David Williams <david_williams>
Component: Cross-ProjectAssignee: David Williams <david_williams>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: ian.skerrett, igor, mknauer
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description David Williams CLA 2011-05-23 02:21:21 EDT
[I'm opening this bug for general awareness and discussion of an issue first raised in bug 346703.] 

It is my understanding, according to 

http://www.eclipse.org/legal/updatemanager.php

that users need to be given the choice to install something using "update manager" ... and that when doing so, they need to be presented with the license agreement that governs what they are installing ... and that content should have its licensing info documented in a certain way, such as file in the feature and bundle.

[To clarify, there are other issues on how to consistently present and name things related to the various "market places" ... and those issues will be addressed separately, in the longer term in other bugs or guidelines]. 

So, first issue is that the "update manager" document referenced above certainly seems dated ... since we no longer use "update manager" but instead "p2". But, I think the principles are the same. I guess it if does need to be updated, that too would be a longer term, post Indigo task ... but thought I'd start the general discussion here. 

Perhaps to start, we could document how various projects deal with this ... and maybe determine if it is a "cross-project" issue at all? 

Certainly the normal "install new software" UI presents licenses to users before they install something. 

As far as I know, anything in the "Eclipse Market Place" UI does present licenses? Can anyone confirm? 

I know we in webtools project have a couple of mechanisms where users can choose to install things, and licenses are presented in those cases ... one is for "server adapters", the other is for select "server libraries" needed at development-time. 

m2e, via bug 346703, apparently does not present licenses. (And, I'm not being critical ... they have "ease of use" in mind ... and I have to admit, if everything being installed is "EPL", it seems users would have already agreed to that? ... but, seems unclear, to me, in the "update manager" document, referenced above, if that's acceptable to be assumed). 

Mylyn is the other project that allows users to "install connectors" from certain dialogs ... I _thought_ they presented licenses ... but, I am not sure, perhaps they could confirm? 

Do other projects install things from their own dialogs? Menus? Preferences? Do they always use "features"? Do they always present "license info" before users installs it? Provide it in the installed features/bundles? [I know 'datatools' was thinking of providing this functionality ... but, not sure if it was ever implemented]. 

So ... mostly opening this to allow "cross project" discussion specially of the "legal requirements" when allowing users to install something ... but, if someone with authority (e.g. from the Eclipse Foundation) has concrete insight into what's legally required, that would be good to know too. 

I personally don't particularly care (though ... we in webtools did go to a lot of trouble to make sure we do present license info thinking we had to :) ... but, my main concern, as always, is simply the community perceptions and requirements in this area. I've always had the impression that some large development shops would "prohibit Eclipse" if there was a chance it would install something without proper licensing info ... but ... I have no first hand knowledge or expertise in this area. So, I'm mostly looking here, in this bugzilla entry, not so much to say there is a problem ... perhaps there is none ... but mostly to document what current "Indigo Projects" do and hopefully get a better handle on the current situation. 

Much thanks,
Comment 1 David Williams CLA 2011-05-23 03:35:45 EDT
FWIW, I misrepresented some of what was said in bug 346703 ... the m2e project _does_ expect licensing information to be presented by p2 ... I just read the comments there too quickly and got what they were saying backwards. I opened bug 346830 to cover that one case where I did not see licensing info, but sounds like they did not expect that. 

I still think this bugzilla _might_ be useful, to help raise awareness and determine our current state of confusion ... but doubt there is any short term issues other than specific bugs. I'd appreciate hearing quick summaries from other projects, but suspect "the work" will be done to clarify policies/procedures in the future ... and probably wouldn't have even opened this bugzilla, if I'd read bug 346703 correctly the first time :/ ... but, I do think the current statement/situation is kind of confusing. Am I the only one? 

Thanks as always.
Comment 2 Igor Fedorenko CLA 2011-05-23 10:59:50 EDT
Just to confirm, m2e does expect license information to be present to the user. I just double-checked that license information is properly present when installing m2e/wtp integration, so I am guessing Bug 346830 is caused by oddities in some of m2e marketplace catalog entries.
Comment 3 John Arthorne CLA 2011-05-24 08:51:21 EDT
The answer is "yes" ;)

The "update manager" agreement that you reference is stale. I guess they have to keep it around for historical reference but it should really have a disclaimer that it has been superceded.

That agreement was folded directly into the Eclipse SUA [1]. The p2 team worked with the foundation to update the wording and generalize it to capture the variety of available provisioning systems (see the section "Use of Provisioning Technology" in the SUA). This is one of the big reasons there was a major update to the SUA last year that all projects had to consume.

The SUA is quite clear on the fact that terms and conditions must be presented at install time. We should just open bugs for any component that is not doing this. They would be in direct violation of the Eclipse SUA:

"Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software."

[1] http://www.eclipse.org/legal/epl/notice.php
Comment 4 Igor Fedorenko CLA 2011-05-24 09:00:18 EDT
(In reply to comment #3)
> The answer is "yes" ;)
> 
> The SUA is quite clear on the fact that terms and conditions must be presented
> at install time. We should just open bugs for any component that is not doing
> this. They would be in direct violation of the Eclipse SUA:

Is it enough for m2e to use p2 UI for doing actual install, as we already do, or do we need to do something beyond that be stay compliant?
Comment 5 David Williams CLA 2011-09-01 00:02:59 EDT
I'm going to close as fixed, since I think question was answered (and there was never much doubt about it after all). 

As for the last question: 
> Is it enough for m2e to use p2 UI for doing actual install, as we already do,
> or do we need to do something beyond that be stay compliant?

I'm not sure how to answer, except that the "requirement" is not about using some technology or another ... the requirement is to have a license that is presented to the user, at least once, when installing a feature. Plus, on the file system, there must be a license (EUA) file in the feature directory, for more old fashioned "human checking" (I guess). The p2 license actually comes from the repository information, and is technically separate from the file in directory ... though, the content should be the same of course.