Re: Java 21 for jEdit ?

Dale Anson <[email protected]> Tue, 31 Oct 2023 16:29:40 -0600
Newsgroups gmane.editors.jedit.devel
Message-ID <CAHrA0wDwB0zzESucYDzGwGCcdWipmWPpyo4e9-JRubT2Q4y2hQ@mail.gmail.com>
I'm not a lawyer either, so I asked the experts at gnu.org, since it is
their license. Below are my questions and answers, which are pretty much
as Björn mentioned. Bottom line is all we need to do to change to GPL 3 is
go through the code and documentation and change all the license headers to
GPL 3. Then the beanshell code can be upgraded, but of course, it will have
its Apache license as a header in each of the beanshell files.

> I'm hoping you can help us sort out a licensing issue, I think it's
> straightforward, but would like some confirmation.

> I'm one of the admins for the jEdit project (www.jedit.org), an editor
> for programmers. The project is over 20 years old now, and has been
> licensed under GPLv2 with the "or later version" clause. The project
> has incorporated beanshell (www.beanshell.org) since nearly the
> beginning, which was also licensed under GPLv2. In the intervening
> years, beanshell has moved to Apache and currently has Apache 2.0
> license. We would like to upgrade to a newer version of beanshell, and
> this is where my question comes in. I think we need to change to GPLv3
> to do that as GPLv2 isn't compatible with the Apache license.

Correct: GPLv2 is incompatible with the Apache License version 2.0, but
GPLv3 is compatible with the Apache License version 2.0:
https://www.gnu.org/licenses/license-list.en.html#apache2

> To change our project to GPLv3, is it simply a matter of changing the
> license as mentioned in your FAQ?

Yes. As per section 9 of GPLv2, which states: "If the Program specifies
a version number of this License which applies to it and ``any later
version'', you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation."

> Then we can use the newer beanshell code with the Apache 2.0 license?

Yes, because of the compatibility between GPLv3 and the Apache License
version 2.0, as above.

> Do we need to get permission from the hundreds of individual
> developers that have worked on the project over the years?

No, because by licensing the work with the "or later" language, they
have already given you that permission.

> Thanks for your help,

Thank you for developing free software.


On Fri, Oct 13, 2023 at 4:04 PM Vampire <[email protected]> wrote:

> You understood a bit wrong then.
>
> I'm sorry, I just found that my last answer to that license thread two
> years ago was somehow not sent, but still hung as draft here, though I was
> sure I sent it.
> Anyway, I'll incorporate it here.
>
> If jEdit would be under GPLv2, there were no way whatsover to upgrade to
> GPL3,
> other than asking each and every contributor for permission to do so, or
> rewriting all code so that no other contributor's code is present anymore,
> which both are pretty impossible tasks. Someone could get the idea to ask
> for example on the devel mailing list for objections and just do it if no
> objections come in, but that would **not** be legally sufficient.
>
> Luckily, jEdit is **not** under GPLv2. It is under GPLv2+ with plugin
> exception.
> The plugin exception makes it possible to have plugins with other licenses
> or to create Isabelle as long as the conditions are met.
> The "+" in GPLv2+ means, that you can update to a newer GPL version any
> time.
> You cannot simply "commit one GPLv3 class and magically have everything
> GPLv3". But you also don't need to. You can simply update all mentions,
> documentation, copyright headers in files, and so on to have the new header
> for GPLv3+ instead of the current GPLv2+ (copied from the GPLv3+ usage
> instructions, not just exchanging 2 by 3 in case something changed there).
>
> That would be enough to make the GPLv2+ code GPLv3+ code in the future.
> I'll second that change, wouldn't be a problem to me.
>
> It is also correct, that once we switched to GPLv3+, we could
> **theoretically** incorporate ASLv2 code as these two licenses were
> specifically designed to be compatible.
>
> But compatible does **not** mean that you can simply copy in the ASLv2
> code and release it as GPLv3+ code and be done.
> For that code you would need to then follow all terms of GPLv3+ AND ASLv2,
> like prominent notices of what was changed in each file and so on and so
> forth.
>
> I am not a lawyer and I never did this.
> So I cannot tell you what we exactly would need to do to make this legally
> correct.
> So even if we switch to GPLv3+, before you stuff in any ASLv2 code, I
> would recommend you ask a lawyer that is specialized to open source
> licenses about what is necessary to make this legally correct so that none
> of us can get into trouble for copyright infringement.
>
> Cheers
> Björn
>
> Am 04.10.2023 23:48, schrieb Dale Anson:
>
> Yes, that's what I understand. There was a conversation about this some
> time ago and that was the consensus at the time. The newer beanshell code
> is licensed under Apache license, where the version in jEdit right now is
> GPL, and GPL3 would let us include the newer beanshell code even though
> it's using the Apache license. I'd be happy to update the beanshell code to
> the newer version, but not for this release since it would need some pretty
> good testing to make sure we don't break existing macros.
>
> On Wed, Oct 4, 2023 at 3:05 PM Matthieu Casanova <[email protected]>
> wrote:
>
>> I am not sure I understand well (but I am not a licence expert).
>> But today jEdit is GPL 2. And you say that adding some GPL 3 code would
>> change all jEdit to GPL 3 automatically ?
>> Any new code or it has to be specific ?
>> Because if it is any new code I committed a few weeks ago that new class
>> which comes with no dependencies to any other part of jEdit and since I am
>> the only committer I suppose I can change it's licence to any licence right
>> ?
>>
>> https://sourceforge.net/p/jedit/svn/25686/tree//jEdit/trunk/org/jedit/util/SystemManager.java
>>
>> Matthieu
>>
>> Mer 04 oct 2023, à 22:47, Dale Anson a écrit :
>>
>> The license issue shouldn't be hard to resolve, GPL 3 would allow Apache
>> licensed code to be mixed in. We just need some new code with a GPL 3
>> license committed to the project, then the rest is automatic.
>>
>> On Wed, Oct 4, 2023 at 2:10 PM Matthieu Casanova <[email protected]>
>> wrote:
>>
>>
>> Hey,
>> are you able to reproduce it today ?
>> I tried with a macro
>>
>> sb.bsh containing
>>
>> StringBuilder sb = new StringBuilder();
>> sb.append("test");
>> System.out.println(sb.toString());
>>
>> I run it with Java 17.0.8.1 (Adoptium) and it works.
>> I tried to recompile jEdit with that same JDK and ran jEdit and the test
>> and it also worked.
>> Did I miss something or maybe someone fixed the bug already?
>>
>> As Dale told it seems we will not be able to upgrade Beanshell because of
>> their licence change so we have the choice to find another alternative that
>> would be compatible with GPL (I don't know any), otherwise we might try to
>> solve the problem ourselves in our version of Beanshell.
>>
>> --
>>   Matthieu Casanova
>>   [email protected]
>>
>>
>> Mer 04 oct 2023, à 22:03, Dale Anson a écrit :
>>
>> I believe it's in the same place it was last year. It isn't hard to
>> upgrade the integrated beanshell to a newer, java 17+ compatible version,
>> but there is still the GPL vs Apache license issue which hasn't been worked
>> out.
>>
>> On Wed, Oct 4, 2023 at 1:40 PM Robert Schwenn <
>> [email protected]> wrote:
>>
>>
>> Hi,
>>
>> do You have in mind that there's a issue with integrated beanshell (
>> https://sourceforge.net/p/jedit/bugs/4118/) not being compatible with
>> java 17 (and presumably later)? Or is it fixed already (or a mistake)?
>>
>> Robert
>>
>>
>>
>> Am 02.10.2023 um 23:27 schrieb Matthieu Casanova:
>>
>> Hey,
>> we missed java 17 and are still on java 11. Java 21 arrived and it is
>> LTS, I think it would be nice that the next version of jEdit (after 5.7
>> release) would be java 21 which brings a lot of nice features especially
>> virtual threads.
>> Anyone against it ?
>>
>> Matthieu
>>
>>
>> --
>> -----------------------------------------------
>> jEdit Developers' List
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/jedit-devel
>>
>>
>> --
>> -----------------------------------------------
>> jEdit Developers' List
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/jedit-devel
>>
>>
>>
>> --
>> -----------------------------------------------
>> jEdit Developers' List
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/jedit-devel
>>
>>
>>
>
>
>
>
>

-- 
-----------------------------------------------
jEdit Developers' List
[email protected]
https://lists.sourceforge.net/lists/listinfo/jedit-devel