You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Eric Bresie <eb...@gmail.com> on 2022/04/03 14:03:10 UTC

Re: Usage of NBPython Code [License]

I was looking at the "nbPython Mercurial '' repo (
https://sourceforge.net/p/nbpython/mercurial/ci/default/tree/ ) as well as
a forked mavenized version https://github.com/timboudreau/netbeans-contrib
) and picked a random files and found there are some files without any
headers and others with Oracle copy right and CDDL license markings like
the below.

So here is my license inexperience here...does this mean I can't remove
this header (and relicense to Apache for example) without approval (i.e.
similar to the Donation process in work) or keep the same markings and add
to it with additional licenses applicable?

Side note, the license URL listed at http://www.netbeans.org/cddl-gplv2.htm
is not accessible anymore.  Is a redirect needed for this?


 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
 *
 * Oracle and Java are registered trademarks of Oracle and/or its
affiliates.
 * Other names may be trademarks of their respective owners.
 *
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common
 * Development and Distribution License("CDDL") (collectively, the
 * "License"). You may not use this file except in compliance with the
 * License. You can obtain a copy of the License at
 * http://www.netbeans.org/cddl-gplv2.html
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
 * specific language governing permissions and limitations under the
 * License.  When distributing the software, include this License Header
 * Notice in each file and include the License file at
 * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the GPL Version 2 section of the License file that
 * accompanied this code. If applicable, add the following below the
 * License Header, with the fields enclosed by brackets [] replaced by
 * your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 *
 * If you wish your version of this file to be governed by only the CDDL
 * or only the GPL Version 2, indicate your decision by adding
 * "[Contributor] elects to include this software in this distribution
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
 * single choice of license, a recipient has the option to distribute
 * your version of this file under either the CDDL, the GPL Version 2 or
 * to extend the choice of license to its licensees as provided above.
 * However, if you add GPL Version 2 code and therefore, elected the GPL
 * Version 2 license, then the option applies only if the new code is
 * made subject to such option by the copyright holder.

Eric Bresie
ebresie@gmail.com


On Sat, Apr 2, 2022 at 12:54 PM Ernie Rael <er...@raelity.com> wrote:

> It seems like you missed my main point. I'm familiar with the history of
> the oracle donations and python; it's seems unlikely it will ever be
> donated.
>
>     The NB python code can be used in a plugin portal project.
>     I just looked. The python stuff in the old contrib area is
>     "CDDL-GPL-2-CP" so it can freely be used in any project.

-ernie
>
> On 4/2/22 10:30 AM, Eric Bresie wrote:
> > Regarding the license…
> >
> > Based on previous conversations as I’m aware, there was the original
> nbPython development, which basically forked with much of it becoming part
> of the contrib in the codebase in Oracle control which fell under
> applicable Oracle IP and licensing concerns.
> >
> > When Netbeans was donated to Apache, the code for the contrib had to be
> done in separate drops of donation to ensure proper IP and licensing
> venting was addressed.  The contrib/nbpython was to be part of donation 6
> but has not been finalized yet.
> > ________________________________
> > From: Ernie Rael <er...@raelity.com>
> > Sent: Saturday, April 2, 2022 10:21:22 AM
> > To: dev@netbeans.apache.org <de...@netbeans.apache.org>
> > Subject: Re: Usage of NBPython Code
> >
> > Isn't the python code CDDL or somesuch?
> >
> > If your project is made available as a plugin, then you don't have to
> > worry about Apache licensing issues and you can use whatever you want
> > within whatever license. Python support could be loaded through the
> > plugin portal.
> >
> > On 4/2/22 7:43 AM, Eric Bresie wrote:
> >> I am presently working on a new LSP based Python plugin (
> >> https://github.com/ebresie/python4nb) which is still in early
> development,
> >> and was hoping to avoid having to reproduce too much, hoped to leverage
> >> some existing code from nbPython.  This is  not necessarily the version
> >> from the 8.x Netbean code base contrib which is still awaiting formal
> >> donation.  If this does get donated then working with that would be
> >> preferable but in lieu of that, I'm working on as much of a new LSP
> based
> >> implementation as possible.
> >>
> >> Many of the nbPython sites and pages (http://nbpython.org/) have not
> >> actively been updated since about 2015 or are no longer reachable.
> There
> >> seems to be some presences on SourceForge site (
> >> https://sourceforge.net/projects/nbpython/ ) from which some version of
> >> code is available (
> >> https://sourceforge.net/p/nbpython/mercurial/ci/default/tree/ ).
> >>
> >> I hoped to reach out here to see if anyone on the list could speak for
> the
> >> former nbpython developers and to determine if usage of any of this
> >> codebase is possible.  If not then I will work on new code  where
> necessary
> >> but figured it may help speed up the process.
>
>

Re: Usage of NBPython Code [License]

Posted by antonio <an...@vieiro.net>.

On 03/04/2022 16:03, Eric Bresie wrote:
> So here is my license inexperience here...does this mean I can't remove
> this header (and relicense to Apache for example) without approval (i.e.
> similar to the Donation process in work) or keep the same markings and add
> to it with additional licenses applicable?

 >   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

This means that you cannot alter or remove the copyright notices of that 
header.

 >   *
 >   * Copyright 2010 Oracle and/or its affiliates. All rights reserved.

This means that the source code is owned by Oracle and/or its 
affiliates, and that they have reserved all rights of that source code.

Since the code is Oracle's (and/or its affiliates) you cannot relicense 
it to anyone, with the Apache License or any other license, without 
their approval.

> 
> Side note, the license URL listed athttp://www.netbeans.org/cddl-gplv2.htm
> is not accessible anymore.  Is a redirect needed for this?

I don't think so.


The ASF Legal team has created a webpage [1] with many answers to 
licensing questions that can be of help. For instance, CDDL source code 
must not be included in ASF projects, but CDDL binaries may be used.

Cheers,
Antonio


[1]
https://www.apache.org/legal/resolved.html

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by Ernie Rael <er...@raelity.com>.
On 4/4/22 8:14 AM, Neil C Smith wrote:
> No, we're really not!  We do have to follow ASF guidance.  But the
> fact that the latter part of your statement happened kind of belies
> the first part!
>
Thank to you and Antonio for that ".../legal/resolved..." pointer. I'm 
saving that link to that so that I can render better opinions while 
saying they should be ignored.

-ernie

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by Ernie Rael <er...@raelity.com>.
On 4/4/22 10:59 AM, antonio wrote:
>
> Exactly yes. Eric can choose the CDDL license or the GPLv2+CPE.
CDDL may be less of a hassle since it is listed by Apache in their "weak 
copyleft" section, whereas GPLv2+CPE is not directly. Although it seems 
OK'd in the "Category X" section.
>
>
> The plugin portal accepts developer defined licenses. People publish 
> plugins with the GPL license, for instance. jVI is MPL licensed, IIRC.
It seemed the thing to do over 20 years ago.

-ernie


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by antonio <an...@vieiro.net>.
Some comments inlined below.

On 04/04/2022 18:47, Ernie Rael wrote:
> I'm not sure of the consensus of the NetBeans team (I'm just an 
> interested observer). My understanding from this thread is that if you 
> added
> 
>     "Eric Bresie elects to include this software in this distribution 
> under the CDDL license."
> 
> to every file with the standard license header, then you could build a 
> binary and that *binary* could be included as /part of NetBeans/.


Exactly yes. Eric can choose the CDDL license or the GPLv2+CPE.

But Eric should also _add_ a Copyright notice too to each file, 
something like:

  Copyright 2022 Eric and friends. All rights reserved.
  Copyright 2010 Oracle and/or its affiliates. All rights reserved.

This is: add a new copyright notice (that covers modifications) but not 
removing nor altering existing ones.

> 
> OTOH, if you use the code and build a binary and put it in the plugin 
> portal, then you would not need to add that line after the license 
> header since the binary would not be included in NetBeans.

The plugin portal accepts developer defined licenses. People publish 
plugins with the GPL license, for instance. jVI is MPL licensed, IIRC.

But it's up to the user to accept or reject the license, of course.

> 
> Personally speaking, I would be inclined to structure things to avoid 
> throwing away useful code. Of course, given the LSP nature of things, I 
> dont' know how much would be reusable (even if just the debugger could 
> be a great savings).

People can use LSP to develop plugins or whatever they see fit. LSP is 
not mandatory. It does indeed save lots of development hours 
(ide/lsp.client is quite powerful).

Cheers,
Antonio


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by antonio <an...@vieiro.net>.
Some comments below.

On 10/04/2022 19:46, Ernie Rael wrote:
> There still seems to be a basic misunderstanding, either yours or mine.
> 
> The Apache licensing restrictions primarily have to do with what source 
> code can be /compiled by and included in and release as an Apache 
> project/. 

Correct.

As any other Apache Project, Apache NetBeans does comply with the Apache 
Software License. All source is published under this license.

Secondarily, some restricted source code, such as CDDL
> licensed, can be compiled by a 3rd party, and still be included by the 
> Apache team into the released Apache NetBeans project.

Correct.

"Any Category B licensed works may be included in binary-only form in 
Apache Software Foundation convenience binaries." [1]


> [...]
> You can use any open source code with any open source license, modify 
> it, extend it... and create a project . 

Correct. This is (mostly) a free world.

> You can put this project on the 
> plugin portal and anyone can use it with NetBeans. No restrictions. 

Correct.

People publish plugins in the Plugin Portal with many different 
licenses. Some examples:

CDDL/GPL2-CPE: https://plugins.netbeans.apache.org/catalogue/?id=37
GPLv3: https://plugins.netbeans.apache.org/catalogue/?id=1
Specific license: https://plugins.netbeans.apache.org/catalogue/?id=5


> As long as you do not expect your project's source code to be included in 
> the Apache NetBeans source code Repository.

Correct.

If the project you create is compatible with the NetBeans license (i.e. 
the Apache License) and the NetBeans Team is willing to add it then yes.

If the project you create is not compatible with the NetBeans license 
then you can still publish it in the plugin portal, but you should not 
pretend it to be added to the ASF repositories.

> 
> When I look at your message it seems like you think you can not use 
> Apache source code, or nbPython source code, or Oracle source code. That 
> is not correct. You can use them. Just because your project would work 
> with an Apache project, does not make your project an Apache project.

Correct.

Cheers,
Antonio

[1]
https://www.apache.org/legal/resolved.html#binary-only-inclusion-condition

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by Ernie Rael <er...@raelity.com>.
There still seems to be a basic misunderstanding, either yours or mine.

The Apache licensing restrictions primarily have to do with what source 
code can be /compiled by and included in and release as an Apache 
project/. Secondarily, some restricted source code, such as CDDL 
licensed, can be compiled by a 3rd party, and still be included by the 
Apache team into the released Apache NetBeans project.

IIUC, you are not working on an Apache project. It's possible you are 
using some code that is part of an Apache project, but that does not 
make your code an Apache project.

You can use any open source code with any open source license, modify 
it, extend it... and create a project . You can put this project on the 
plugin portal and anyone can use it with NetBeans. No restrictions. As 
long as you do not expect your project's source code to be included in 
the Apache NetBeans source code Repository.

When I look at your message it seems like you think you can not use 
Apache source code, or nbPython source code, or Oracle source code. That 
is not correct. You can use them. Just because your project would work 
with an Apache project, does not make your project an Apache project.

-ernie


On 4/10/22 8:27 AM, Eric Bresie wrote:
> Sorry up front there has been a lot to take in here especially the [IANAL]
> considerations
>
> My initial plan was to
>
>     1. To work on updating the existing nb python code to make it a cluster
>     and update to more recent APIs (
>     https://github.com/ebresie/netbeans/tree/python ) which worked up to a
>     point but stopped working on it until donation completion (which has yet to
>     happen). So I moved on to...
>     2. Is there a place where I could fork the nbPython code (not Oracle
>     based on Oracle donation) and start working on it there instead?  Maybe
>     bring in the LSP work), ?  I thought the code from nbpython (source force
>     hg) was the nbpyhon code but looking through some, I'm not so sure anymore.
>
> My second plan was to
>
>     1. Develop a new LSP based version in the open via
>     https://github.com/ebresie/python4nb which currently provides an LSP
>     implementation and textmate highlighting which when python and python LSP
>     server are set up properly provides autocompletion.  So this codebase would
>     be in the open so I suspect any usage of nbPython here would need proper
>     licensing and not applicable as a "binary" provided case.
>     2. Eventually when in good shape (see
>     https://github.com/ebresie/python4nb/issues/9 ), planned to publish to
>     the Plugin Portal, which could be the "binary" provided version but not
>     sure if (1) precludes that.
>     3. My hope was to leverage some of the existing nbPython functionality
>     to speed up feature development and not reinvent the wheel if possible, but
>     given the discussions I'm not so sure anymore.
>
>
> This is \done out of the appreciation of the Python language, the NetBeans
> IDE, and as a hobby/learning project all in spare time.
>
> A few comments inline below EB =>
>
> *From:* Ernie Rael <er...@raelity.com>
> *Sent:* Monday, April 4, 2022 11:47:37 AM
> *To:* dev@netbeans.apache.org <de...@netbeans.apache.org>
> *Subject:* Re: Usage of NBPython Code [License]
>
> I'm not sure of the consensus of the NetBeans team (I'm just an
> interested observer). My understanding from this thread is that if you added
>
>      "Eric Bresie elects to include this software in this distribution under
> the CDDL license."
>
> EB => My code has initially been tagged with Apache licenses with
> expectation of similar licensing to the NetBeans project.  But it sounds
> like if I follow the subsequnet comments, that adding additional
> license/copyright would be
>
> to every file with the standard license header, then you could build a
> binary and that *binary* could be included as /part of NetBeans/.
>
> EB => Since the code was expected to be in the open, I'm not sure "binary"
> only would be viable fully.
>
> OTOH, if you use the code and build a binary and put it in the plugin
> portal, then you would not need to add that line after the license
> header since the binary would not be included in NetBeans.
>
> EB => I'm not sure what would be "build as a binary '' is fully possible
> here.  If it's nbpython binaries, not sure of that reason as I'm not
> currently the nbpython maintainer and me creating nbpython binaries would
> be fully viable.  If it's new python4nb using old nbpython binaries
> [leveraging previous good nbpython binary builds] not sure if that is fully
> viable either (i.e. if you have nbpython binaries why build on top of it
> except to have the "LSP based" functionality added).  In that case would
> probably just be better to keep using NetBeans 8.2 version of nbpython
> (granted dated a little bit)
>
> Personally speaking, I would be inclined to structure things to avoid
> throwing away useful code. Of course, given the LSP nature of things, I
> dont' know how much would be reusable (even if just the debugger could
> be a great savings).
>
> EB => Presently reuse code would be things like the Project, Platform,
> Execution, Debugging, and some of the UI code.
>
> EB => In some cases I've started recreating things (i.e. UI modeled after
> existing UI elements like platform/options) but in other cases I had wanted
> to use or replace the functionality; however in some of those "replace"
> cases it's turned into a more complicated task than anticipated making it
> more easy to reuse (which is what brings me here).
>
> I'm still inclined to see it work totally as an add on module, since I
> believe that would help NetBeans the most. For example, to insure/prove
> that 3rd party LSP with debugger/search/... doesn't have to be built
> into NetBeans, but can in fact be added on.
>
> EB => That is basically the direction I'm leaning towards having a LSP
> Python 4 NB Plugin.
> EB => I started with code having a org.apache.netbeans.modules.python4nb
> namespace, I'm suspecting at some point that would need to change to be
> more independent of Apache I'm assuming.
>
> BTW, maybe the total add on path already works, and my concerns are
> unfounded.
>
> I'm wondering how you are considering distributing/integrating into
> NetBeans.
>
> EB => See initial and current plan above
>
> -ernie
>
> On 4/4/22 9:19 AM, Eric Bresie wrote:
>> Since this is nbpython source code and not binary I’m guessing not
>> advisable to use the source without further coordination or not at all.
>>
>> I’ve not looked at every file but some files have Oracle markings
> mentioned
>> earlier and some don’t (for that matter many have no headers or include
> the
>> obligatory placeholder link to setup one).  So assume if it has Oracle, I
>> should definitely not use it…if there are no markings are those usable?
>>
>> There is reference to the nbbuild/license folder/files which aren’t
> present
>> in the contrib
>> repo context that I saw; assume it was expecting the contrib folder would
>> be present with the baseline Netbeans codebase combined but that’s just a
>> guess or the contrib folder was extracted to separate it out.
>>
>> So in the end, it sounding like it may be better to not reuse the nbpython
>> code and recreate  a lot of stuff is that the consensus?
>>
>> Eric
>>
>> On Mon, Apr 4, 2022 at 10:15 AM Neil C Smith <ne...@apache.org>
> wrote:
>>> On Mon, 4 Apr 2022 at 10:46, Ernie Rael <er...@raelity.com> wrote:
>>>> I thought Neil had said that gpl2/cp-exception, could be finessed
>>>> through Apache, so I'm wondering... And I don't know if Apache considers
>>>> CDDL unacceptable.
>>> Just to add to what Antonio stated, CDDL is Cat B, and GPL2+CPE can be
>>> treated similarly if we jump through a few hoops -
>>> https://www.apache.org/legal/resolved.html#category-b
>>>
>>> That effectively means both can be included as third-party binaries
>>> only - not in sources, not developed here.
>>>
>>>> [IANAL] My opinion is that the NetBeans team is being overly
>>>> conservative (the question of copyrighted and unlicensed files, if any
>>>> exist, has to be addressed) if it's true that gpl2/cp can be finessed.
>>> No, we're really not!  We do have to follow ASF guidance.  But the
>>> fact that the latter part of your statement happened kind of belies
>>> the first part! ;-)
>>>
> On Mon, Apr 4, 2022 at 1:00 PM antonio <an...@vieiro.net> wrote:
>
>> Some comments inlined below.
>>
>> On 04/04/2022 18:47, Ernie Rael wrote:
>>> I'm not sure of the consensus of the NetBeans team (I'm just an
>>> interested observer). My understanding from this thread is that if you
>>> added
>>>
>>>      "Eric Bresie elects to include this software in this distribution
>>> under the CDDL license."
>>>
>>> to every file with the standard license header, then you could build a
>>> binary and that *binary* could be included as /part of NetBeans/.
>>
>> Exactly yes. Eric can choose the CDDL license or the GPLv2+CPE.
>>
>> But Eric should also _add_ a Copyright notice too to each file,
>> something like:
>>
>>    Copyright 2022 Eric and friends. All rights reserved.
>>    Copyright 2010 Oracle and/or its affiliates. All rights reserved.
>>
>> This is: add a new copyright notice (that covers modifications) but not
>> removing nor altering existing ones.
>>
>> EB => So from this it sounds like reused code with Oracle markings would
> need to use CDDL and/or GPLv2+CPE license and add applicable copyright
> notices.
> EB => Would "Copyright 2022 Apache Organization. All rights reserved." be
> an option or not?  Assume that would require Apache governance (and maybe
> licensing) so maybe not.
> EB => As I'm doing this in my spare time without any sort of full on
> organization or business I can add my copyright but figured long term to be
> better to some open organization.
>
>
>>> OTOH, if you use the code and build a binary and put it in the plugin
>>> portal, then you would not need to add that line after the license
>>> header since the binary would not be included in NetBeans.
> EB => Maybe I'm confused here...How can a new project code use old code to
> build a binary?   Would that be a derived code which then falls into a
> whole different category of concerns?
>
> The plugin portal accepts developer defined licenses. People publish
>> plugins with the GPL license, for instance. jVI is MPL licensed, IIRC.
>>
> EB => Assume portal accepts licenses for the compiled code right and not
> really the source?  Or does source license = binary license?
>
> But it's up to the user to accept or reject the license, of course.
>>> Personally speaking, I would be inclined to structure things to avoid
>>> throwing away useful code. Of course, given the LSP nature of things, I
>>> dont' know how much would be reusable (even if just the debugger could
>>> be a great savings).
>> EB => I think a lot of the parsing and autocompletion would go away; the
> things staying would be some of the other functionality/plumbing mentioned
> elsewhere
>
>
>> People can use LSP to develop plugins or whatever they see fit. LSP is
>> not mandatory. It does indeed save lots of development hours
>> (ide/lsp.client is quite powerful).
>
> I'm trying :-)
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by Eric Bresie <eb...@gmail.com>.
Sorry up front there has been a lot to take in here especially the [IANAL]
considerations

My initial plan was to

   1. To work on updating the existing nb python code to make it a cluster
   and update to more recent APIs (
   https://github.com/ebresie/netbeans/tree/python ) which worked up to a
   point but stopped working on it until donation completion (which has yet to
   happen). So I moved on to...
   2. Is there a place where I could fork the nbPython code (not Oracle
   based on Oracle donation) and start working on it there instead?  Maybe
   bring in the LSP work), ?  I thought the code from nbpython (source force
   hg) was the nbpyhon code but looking through some, I'm not so sure anymore.

My second plan was to

   1. Develop a new LSP based version in the open via
   https://github.com/ebresie/python4nb which currently provides an LSP
   implementation and textmate highlighting which when python and python LSP
   server are set up properly provides autocompletion.  So this codebase would
   be in the open so I suspect any usage of nbPython here would need proper
   licensing and not applicable as a "binary" provided case.
   2. Eventually when in good shape (see
   https://github.com/ebresie/python4nb/issues/9 ), planned to publish to
   the Plugin Portal, which could be the "binary" provided version but not
   sure if (1) precludes that.
   3. My hope was to leverage some of the existing nbPython functionality
   to speed up feature development and not reinvent the wheel if possible, but
   given the discussions I'm not so sure anymore.


This is \done out of the appreciation of the Python language, the NetBeans
IDE, and as a hobby/learning project all in spare time.

A few comments inline below EB =>

*From:* Ernie Rael <er...@raelity.com>
*Sent:* Monday, April 4, 2022 11:47:37 AM
*To:* dev@netbeans.apache.org <de...@netbeans.apache.org>
*Subject:* Re: Usage of NBPython Code [License]

I'm not sure of the consensus of the NetBeans team (I'm just an
interested observer). My understanding from this thread is that if you added

    "Eric Bresie elects to include this software in this distribution under
the CDDL license."

EB => My code has initially been tagged with Apache licenses with
expectation of similar licensing to the NetBeans project.  But it sounds
like if I follow the subsequnet comments, that adding additional
license/copyright would be

to every file with the standard license header, then you could build a
binary and that *binary* could be included as /part of NetBeans/.

EB => Since the code was expected to be in the open, I'm not sure "binary"
only would be viable fully.

OTOH, if you use the code and build a binary and put it in the plugin
portal, then you would not need to add that line after the license
header since the binary would not be included in NetBeans.

EB => I'm not sure what would be "build as a binary '' is fully possible
here.  If it's nbpython binaries, not sure of that reason as I'm not
currently the nbpython maintainer and me creating nbpython binaries would
be fully viable.  If it's new python4nb using old nbpython binaries
[leveraging previous good nbpython binary builds] not sure if that is fully
viable either (i.e. if you have nbpython binaries why build on top of it
except to have the "LSP based" functionality added).  In that case would
probably just be better to keep using NetBeans 8.2 version of nbpython
(granted dated a little bit)

Personally speaking, I would be inclined to structure things to avoid
throwing away useful code. Of course, given the LSP nature of things, I
dont' know how much would be reusable (even if just the debugger could
be a great savings).

EB => Presently reuse code would be things like the Project, Platform,
Execution, Debugging, and some of the UI code.

EB => In some cases I've started recreating things (i.e. UI modeled after
existing UI elements like platform/options) but in other cases I had wanted
to use or replace the functionality; however in some of those "replace"
cases it's turned into a more complicated task than anticipated making it
more easy to reuse (which is what brings me here).

I'm still inclined to see it work totally as an add on module, since I
believe that would help NetBeans the most. For example, to insure/prove
that 3rd party LSP with debugger/search/... doesn't have to be built
into NetBeans, but can in fact be added on.

EB => That is basically the direction I'm leaning towards having a LSP
Python 4 NB Plugin.
EB => I started with code having a org.apache.netbeans.modules.python4nb
namespace, I'm suspecting at some point that would need to change to be
more independent of Apache I'm assuming.

BTW, maybe the total add on path already works, and my concerns are
unfounded.

I'm wondering how you are considering distributing/integrating into
NetBeans.

EB => See initial and current plan above

-ernie

On 4/4/22 9:19 AM, Eric Bresie wrote:
> Since this is nbpython source code and not binary I’m guessing not
> advisable to use the source without further coordination or not at all.
>
> I’ve not looked at every file but some files have Oracle markings
mentioned
> earlier and some don’t (for that matter many have no headers or include
the
> obligatory placeholder link to setup one).  So assume if it has Oracle, I
> should definitely not use it…if there are no markings are those usable?
>
> There is reference to the nbbuild/license folder/files which aren’t
present
> in the contrib
> repo context that I saw; assume it was expecting the contrib folder would
> be present with the baseline Netbeans codebase combined but that’s just a
> guess or the contrib folder was extracted to separate it out.
>
> So in the end, it sounding like it may be better to not reuse the nbpython
> code and recreate  a lot of stuff is that the consensus?
>
> Eric
>
> On Mon, Apr 4, 2022 at 10:15 AM Neil C Smith <ne...@apache.org>
wrote:
>
>> On Mon, 4 Apr 2022 at 10:46, Ernie Rael <er...@raelity.com> wrote:
>>> I thought Neil had said that gpl2/cp-exception, could be finessed
>>> through Apache, so I'm wondering... And I don't know if Apache considers
>>> CDDL unacceptable.
>> Just to add to what Antonio stated, CDDL is Cat B, and GPL2+CPE can be
>> treated similarly if we jump through a few hoops -
>> https://www.apache.org/legal/resolved.html#category-b
>>
>> That effectively means both can be included as third-party binaries
>> only - not in sources, not developed here.
>>
>>> [IANAL] My opinion is that the NetBeans team is being overly
>>> conservative (the question of copyrighted and unlicensed files, if any
>>> exist, has to be addressed) if it's true that gpl2/cp can be finessed.
>> No, we're really not!  We do have to follow ASF guidance.  But the
>> fact that the latter part of your statement happened kind of belies
>> the first part! ;-)
>>

On Mon, Apr 4, 2022 at 1:00 PM antonio <an...@vieiro.net> wrote:

> Some comments inlined below.
>
> On 04/04/2022 18:47, Ernie Rael wrote:
> > I'm not sure of the consensus of the NetBeans team (I'm just an
> > interested observer). My understanding from this thread is that if you
> > added
> >
> >     "Eric Bresie elects to include this software in this distribution
> > under the CDDL license."
> >
> > to every file with the standard license header, then you could build a
> > binary and that *binary* could be included as /part of NetBeans/.
>
>
> Exactly yes. Eric can choose the CDDL license or the GPLv2+CPE.
>
> But Eric should also _add_ a Copyright notice too to each file,
> something like:
>
>   Copyright 2022 Eric and friends. All rights reserved.
>   Copyright 2010 Oracle and/or its affiliates. All rights reserved.
>
> This is: add a new copyright notice (that covers modifications) but not
> removing nor altering existing ones.
>
> EB => So from this it sounds like reused code with Oracle markings would
need to use CDDL and/or GPLv2+CPE license and add applicable copyright
notices.
EB => Would "Copyright 2022 Apache Organization. All rights reserved." be
an option or not?  Assume that would require Apache governance (and maybe
licensing) so maybe not.
EB => As I'm doing this in my spare time without any sort of full on
organization or business I can add my copyright but figured long term to be
better to some open organization.


> > OTOH, if you use the code and build a binary and put it in the plugin
> > portal, then you would not need to add that line after the license
> > header since the binary would not be included in NetBeans.
>

EB => Maybe I'm confused here...How can a new project code use old code to
build a binary?   Would that be a derived code which then falls into a
whole different category of concerns?

The plugin portal accepts developer defined licenses. People publish
> plugins with the GPL license, for instance. jVI is MPL licensed, IIRC.
>

EB => Assume portal accepts licenses for the compiled code right and not
really the source?  Or does source license = binary license?

But it's up to the user to accept or reject the license, of course.
>
> > Personally speaking, I would be inclined to structure things to avoid
> > throwing away useful code. Of course, given the LSP nature of things, I
> > dont' know how much would be reusable (even if just the debugger could
> > be a great savings).
>
> EB => I think a lot of the parsing and autocompletion would go away; the
things staying would be some of the other functionality/plumbing mentioned
elsewhere


> People can use LSP to develop plugins or whatever they see fit. LSP is
> not mandatory. It does indeed save lots of development hours
> (ide/lsp.client is quite powerful).


I'm trying :-)

Re: Usage of NBPython Code [License]

Posted by Ernie Rael <er...@raelity.com>.
I'm not sure of the consensus of the NetBeans team (I'm just an 
interested observer). My understanding from this thread is that if you added

    "Eric Bresie elects to include this software in this distribution under the CDDL license."

to every file with the standard license header, then you could build a 
binary and that *binary* could be included as /part of NetBeans/.

OTOH, if you use the code and build a binary and put it in the plugin 
portal, then you would not need to add that line after the license 
header since the binary would not be included in NetBeans.

Personally speaking, I would be inclined to structure things to avoid 
throwing away useful code. Of course, given the LSP nature of things, I 
dont' know how much would be reusable (even if just the debugger could 
be a great savings).

I'm still inclined to see it work totally as an add on module, since I 
believe that would help NetBeans the most. For example, to insure/prove 
that 3rd party LSP with debugger/search/... doesn't have to be built 
into NetBeans, but can in fact be added on.

BTW, maybe the total add on path already works, and my concerns are 
unfounded.

I'm wondering how you are considering distributing/integrating into 
NetBeans.

-ernie

On 4/4/22 9:19 AM, Eric Bresie wrote:
> Since this is nbpython source code and not binary I’m guessing not
> advisable to use the source without further coordination or not at all.
>
> I’ve not looked at every file but some files have Oracle markings mentioned
> earlier and some don’t (for that matter many have no headers or include the
> obligatory placeholder link to setup one).  So assume if it has Oracle, I
> should definitely not use it…if there are no markings are those usable?
>
> There is reference to the nbbuild/license folder/files which aren’t present
> in the contrib
> repo context that I saw; assume it was expecting the contrib folder would
> be present with the baseline Netbeans codebase combined but that’s just a
> guess or the contrib folder was extracted to separate it out.
>
> So in the end, it sounding like it may be better to not reuse the nbpython
> code and recreate  a lot of stuff is that the consensus?
>
> Eric
>
> On Mon, Apr 4, 2022 at 10:15 AM Neil C Smith <ne...@apache.org> wrote:
>
>> On Mon, 4 Apr 2022 at 10:46, Ernie Rael <er...@raelity.com> wrote:
>>> I thought Neil had said that gpl2/cp-exception, could be finessed
>>> through Apache, so I'm wondering... And I don't know if Apache considers
>>> CDDL unacceptable.
>> Just to add to what Antonio stated, CDDL is Cat B, and GPL2+CPE can be
>> treated similarly if we jump through a few hoops -
>> https://www.apache.org/legal/resolved.html#category-b
>>
>> That effectively means both can be included as third-party binaries
>> only - not in sources, not developed here.
>>
>>> [IANAL] My opinion is that the NetBeans team is being overly
>>> conservative (the question of copyrighted and unlicensed files, if any
>>> exist, has to be addressed) if it's true that gpl2/cp can be finessed.
>> No, we're really not!  We do have to follow ASF guidance.  But the
>> fact that the latter part of your statement happened kind of belies
>> the first part! ;-)
>>
>> Best wishes,
>>
>> Neil
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
>> For additional commands, e-mail: dev-help@netbeans.apache.org
>>
>> For further information about the NetBeans mailing lists, visit:
>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>
>>
>>
>> --
> Eric Bresie
> ebresie@gmail.com
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by Eric Bresie <eb...@gmail.com>.
Since this is nbpython source code and not binary I’m guessing not
advisable to use the source without further coordination or not at all.

I’ve not looked at every file but some files have Oracle markings mentioned
earlier and some don’t (for that matter many have no headers or include the
obligatory placeholder link to setup one).  So assume if it has Oracle, I
should definitely not use it…if there are no markings are those usable?

There is reference to the nbbuild/license folder/files which aren’t present
in the contrib
repo context that I saw; assume it was expecting the contrib folder would
be present with the baseline Netbeans codebase combined but that’s just a
guess or the contrib folder was extracted to separate it out.

So in the end, it sounding like it may be better to not reuse the nbpython
code and recreate  a lot of stuff is that the consensus?

Eric

On Mon, Apr 4, 2022 at 10:15 AM Neil C Smith <ne...@apache.org> wrote:

> On Mon, 4 Apr 2022 at 10:46, Ernie Rael <er...@raelity.com> wrote:
> > I thought Neil had said that gpl2/cp-exception, could be finessed
> > through Apache, so I'm wondering... And I don't know if Apache considers
> > CDDL unacceptable.
>
> Just to add to what Antonio stated, CDDL is Cat B, and GPL2+CPE can be
> treated similarly if we jump through a few hoops -
> https://www.apache.org/legal/resolved.html#category-b
>
> That effectively means both can be included as third-party binaries
> only - not in sources, not developed here.
>
> > [IANAL] My opinion is that the NetBeans team is being overly
> > conservative (the question of copyrighted and unlicensed files, if any
> > exist, has to be addressed) if it's true that gpl2/cp can be finessed.
>
> No, we're really not!  We do have to follow ASF guidance.  But the
> fact that the latter part of your statement happened kind of belies
> the first part! ;-)
>
> Best wishes,
>
> Neil
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
> --
Eric Bresie
ebresie@gmail.com

Re: Usage of NBPython Code [License]

Posted by Neil C Smith <ne...@apache.org>.
On Mon, 4 Apr 2022 at 10:46, Ernie Rael <er...@raelity.com> wrote:
> I thought Neil had said that gpl2/cp-exception, could be finessed
> through Apache, so I'm wondering... And I don't know if Apache considers
> CDDL unacceptable.

Just to add to what Antonio stated, CDDL is Cat B, and GPL2+CPE can be
treated similarly if we jump through a few hoops -
https://www.apache.org/legal/resolved.html#category-b

That effectively means both can be included as third-party binaries
only - not in sources, not developed here.

> [IANAL] My opinion is that the NetBeans team is being overly
> conservative (the question of copyrighted and unlicensed files, if any
> exist, has to be addressed) if it's true that gpl2/cp can be finessed.

No, we're really not!  We do have to follow ASF guidance.  But the
fact that the latter part of your statement happened kind of belies
the first part! ;-)

Best wishes,

Neil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usage of NBPython Code [License]

Posted by Ernie Rael <er...@raelity.com>.
I thought Neil had said that gpl2/cp-exception, could be finessed 
through Apache, so I'm wondering... And I don't know if Apache considers 
CDDL unacceptable.

But I still think that LSP through the plugin portal is the way to go. 
Getting that to work, ironing out any kinks in the process for 
debugger/searching/... would be invaluable for bringing in a host of 
languages.

Back to the contrib. I did not see any 'license.txt' (or similarly 
named) files, so there appears to be no global/overarching claim. Did 
you find any files without a license header that had a copyright? I'm 
not sure what their legal status would be, but I'd be hesitant about 
using it without a good lawyer and/or organization firmly backing it up; 
or maybe some well known legal precedence which I probably wouldn't be 
aware of.

[IANAL] My opinion is that the NetBeans team is being overly 
conservative (the question of copyrighted and unlicensed files, if any 
exist, has to be addressed) if it's true that gpl2/cp can be finessed.

> DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Are you joking when you say "does this mean I can't remove this header"? 
Lawyers/legalese can be extremely twisted, but that look pretty 
straightforward. It's my understanding that it's up to the copyright holder.

-ernie

On 4/3/22 7:03 AM, Eric Bresie wrote:
> I was looking at the "nbPython Mercurial '' repo (
> https://sourceforge.net/p/nbpython/mercurial/ci/default/tree/ ) as well as
> a forked mavenized version https://github.com/timboudreau/netbeans-contrib
> ) and picked a random files and found there are some files without any
> headers and others with Oracle copy right and CDDL license markings like
> the below.
>
> So here is my license inexperience here...does this mean I can't remove
> this header (and relicense to Apache for example) without approval (i.e.
> similar to the Donation process in work) or keep the same markings and add
> to it with additional licenses applicable?
>
> Side note, the license URL listed at http://www.netbeans.org/cddl-gplv2.htm
> is not accessible anymore.  Is a redirect needed for this?
>
>
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>   *
>   * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
>   *
>   * Oracle and Java are registered trademarks of Oracle and/or its
> affiliates.
>   * Other names may be trademarks of their respective owners.
>   *
>   * The contents of this file are subject to the terms of either the GNU
>   * General Public License Version 2 only ("GPL") or the Common
>   * Development and Distribution License("CDDL") (collectively, the
>   * "License"). You may not use this file except in compliance with the
>   * License. You can obtain a copy of the License at
>   * http://www.netbeans.org/cddl-gplv2.html
>   * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
>   * specific language governing permissions and limitations under the
>   * License.  When distributing the software, include this License Header
>   * Notice in each file and include the License file at
>   * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
>   * particular file as subject to the "Classpath" exception as provided
>   * by Oracle in the GPL Version 2 section of the License file that
>   * accompanied this code. If applicable, add the following below the
>   * License Header, with the fields enclosed by brackets [] replaced by
>   * your own identifying information:
>   * "Portions Copyrighted [year] [name of copyright owner]"
>   *
>   * If you wish your version of this file to be governed by only the CDDL
>   * or only the GPL Version 2, indicate your decision by adding
>   * "[Contributor] elects to include this software in this distribution
>   * under the [CDDL or GPL Version 2] license." If you do not indicate a
>   * single choice of license, a recipient has the option to distribute
>   * your version of this file under either the CDDL, the GPL Version 2 or
>   * to extend the choice of license to its licensees as provided above.
>   * However, if you add GPL Version 2 code and therefore, elected the GPL
>   * Version 2 license, then the option applies only if the new code is
>   * made subject to such option by the copyright holder.
>
> Eric Bresie
> ebresie@gmail.com
>
>
> On Sat, Apr 2, 2022 at 12:54 PM Ernie Rael <er...@raelity.com> wrote:
>
>> It seems like you missed my main point. I'm familiar with the history of
>> the oracle donations and python; it's seems unlikely it will ever be
>> donated.
>>
>>      The NB python code can be used in a plugin portal project.
>>      I just looked. The python stuff in the old contrib area is
>>      "CDDL-GPL-2-CP" so it can freely be used in any project.
> -ernie
>> On 4/2/22 10:30 AM, Eric Bresie wrote:
>>> Regarding the license…
>>>
>>> Based on previous conversations as I’m aware, there was the original
>> nbPython development, which basically forked with much of it becoming part
>> of the contrib in the codebase in Oracle control which fell under
>> applicable Oracle IP and licensing concerns.
>>> When Netbeans was donated to Apache, the code for the contrib had to be
>> done in separate drops of donation to ensure proper IP and licensing
>> venting was addressed.  The contrib/nbpython was to be part of donation 6
>> but has not been finalized yet.
>>> ________________________________
>>> From: Ernie Rael <er...@raelity.com>
>>> Sent: Saturday, April 2, 2022 10:21:22 AM
>>> To: dev@netbeans.apache.org <de...@netbeans.apache.org>
>>> Subject: Re: Usage of NBPython Code
>>>
>>> Isn't the python code CDDL or somesuch?
>>>
>>> If your project is made available as a plugin, then you don't have to
>>> worry about Apache licensing issues and you can use whatever you want
>>> within whatever license. Python support could be loaded through the
>>> plugin portal.
>>>
>>> On 4/2/22 7:43 AM, Eric Bresie wrote:
>>>> I am presently working on a new LSP based Python plugin (
>>>> https://github.com/ebresie/python4nb) which is still in early
>> development,
>>>> and was hoping to avoid having to reproduce too much, hoped to leverage
>>>> some existing code from nbPython.  This is  not necessarily the version
>>>> from the 8.x Netbean code base contrib which is still awaiting formal
>>>> donation.  If this does get donated then working with that would be
>>>> preferable but in lieu of that, I'm working on as much of a new LSP
>> based
>>>> implementation as possible.
>>>>
>>>> Many of the nbPython sites and pages (http://nbpython.org/) have not
>>>> actively been updated since about 2015 or are no longer reachable.
>> There
>>>> seems to be some presences on SourceForge site (
>>>> https://sourceforge.net/projects/nbpython/ ) from which some version of
>>>> code is available (
>>>> https://sourceforge.net/p/nbpython/mercurial/ci/default/tree/ ).
>>>>
>>>> I hoped to reach out here to see if anyone on the list could speak for
>> the
>>>> former nbpython developers and to determine if usage of any of this
>>>> codebase is possible.  If not then I will work on new code  where
>> necessary
>>>> but figured it may help speed up the process.
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists