Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[theia-dev] Improving our Eclipse IP compliance

Hi Eclipse Theia committers,

As you know, we have started the move to the Eclipse Foundation some months ago. In June, we updated all copyright headers and created our "initial contribution" commit. An updated version of that commit will be our first official commit, once we move the repo. 


The idea was, starting with that initial contribution commit, that we would start to follow the Eclipse Foundation process, when reviewing contributions (PRs). That includes, for example, (for now manually) checking that contributors that are not committers, have signed the ECA with the same email address as the one used in the commit(s) and also signed the commit itself. As far as I am aware, this part has been going well. 


One aspect where I have noticed where we have had some compliance issues, is the obligation to get approval, through a CQ, each time a contribution brings-in any 3rd party code in Theia.  I have noticed, after the fact, that a few contributions since the "initial contribution", have brought-in 3rd party code inside Theia, without having a corresponding registered/approved CQ. It's very important to avoid doing this, since if we bring-in 3rd party code that's license-incompatible, we could in extreme cases be required to re-write the repo's history to remove any trace of such code, once the problem is identified. By following the process, we will catch such cases early during reviews, and so limit the impacts on the project and its users


I am, with Sharon's general guidance, working to fix the identified(*) cases of CQ-less 3rd party inclusions. I may ping some of you if I need clarifications of specific cases, but otherwise will take care of registering the required CQs this time. Starting now, this should be done for each PR that requires it. 


Beyond this specific case, there are many other rules to follow. Every committer should become familiar-with and refer-to [2] below, as needed, whenever doing reviews for the project. For instance, another rule is that a non-committer contributor, that does not work for the same company as an existing committer, generally has a 1000 line-of-code limit, over-which the contribution must be approved with a CQ. There are many other cases... 


If there are any questions or concerns, please speak-up. Also let me know if you're aware of other ways, in which we may not yet be complying with Eclipse IP policies, so we can make needed corrections and improve, going forward.


Thanks,


Marc

Eclipse Theia co-lead.


P.S. I have added an item to the Dev Meeting, agenda, to mention/discuss this on the next scheduled meeting, this coming Tuesday


Some interesting related material: 






------------
(*) Identified cases, of new (since initial contribution) 3rd party content identified in Theia and where it's from. If you know of any other such cases, please let me know : 

# from upstream project "vscode":
packages/core/src/browser/icons/open-file-dark.svg
   copied content from vscode: ./extensions/git/resources/icons/dark/open-file.svg
packages/core/src/browser/icons/open-file-bright.svg
   copied content from vscode: ./extensions/git/resources/icons/light/open-file.svg
packages/core/src/common/json-schema.ts
   copied content from vscode: https://github.com/Microsoft/vscode/blob/d4edb9abcc261846cabee6702715fe2914ae42cb/src/vs/base/common/jsonSchema.ts
packages/plugin-ext/src/common/paths.ts
   copied content from vscode: https://github.com/Microsoft/vscode/blob/bf7ac9201e7a7d01741d4e6e64b5dc9f3197d97b/src/vs/base/common/paths.ts
packages/plugin-ext/src/common/glob.ts 
   copied content from vscode: https://github.com/Microsoft/vscode/blob/bf7ac9201e7a7d01741d4e6e64b5dc9f3197d97b/src/vs/base/common/glob.ts
packages/plugin-ext/src/common/strings.ts
   copied content from vscode: https://github.com/Microsoft/vscode/blob/bf7ac9201e7a7d01741d4e6e64b5dc9f3197d97b/src/vs/base/common/strings.ts
packages/plugin-ext/src/common/char-code.ts
   copied content from vscode: https://github.com/Microsoft/vscode/blob/bf7ac9201e7a7d01741d4e6e64b5dc9f3197d97b/src/vs/base/common/charCode.ts
packages/plugin/src/theia.d.ts
   copied content from vscode: https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts
packages/debug/src/node/debug-model.ts
   copied content from vscode: https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts and   
                                        https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/debug/common/debug.ts


# from upstream project "vscode-debugadapter-node":
packages/debug/src/node/debug-adapter.ts
   copied content from vscode-debugadapter-node: https://github.com/Microsoft/vscode-debugadapter-node/blob/master/adapter/src/protocol.ts





Back to the top