You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Rupert Smith <ru...@googlemail.com.INVALID> on 2023/01/06 14:32:53 UTC

Are programming languages suitable for Apache?

Its been a long time since I was last involved as an Apache committer. Back
around 2004ish I contributed to the now defunct qpid project, which was an
implementation of the AMQP messaging protocol.

These days, I am quite keen on the Elm programming language, but it is not
possible to contribute to its compiler+core packages, as only the BDFL
there has commit rights. The quality of the software is very high, and
there have been very few serious issues since its last release, but always
amongst the Elm community there is a recurring sense of frustration that
patches are ignored. It would seem eventually that some kind of community
fork needs to happen, if businesses using Elm are to feel secure in their
adoption of it. For this reason, I and others are exploring options.

I like the values of Apache - openness, independance and plurality of
contributors - adopting some of the "Apache way" would seem to make sense
for a hypothetical fork of Elm.

I looked at the list of Apache projects, and noticed that none are
programming languages (correct? Apache Harmony as an implementation of Java
was one). This also makes me wonder if Apache is a suitable place for such
a project. There are benefits to the bus-factor 1 BDFL model - a
programming language is a complex thing with sometimes subtle interactions
between its language features. Opinions are many, but turning them into a
cohesive set of ideas that make up a good language is not easy, so avoiding
all the distracting arguments by having things tightly controlled by a
single BDFL does make sense, and is not uncommon.

On the other hand, what is really needed in this situation is the ability
to patch Elm, and to have a well run open source project through which to
do so.

So I am curious to hear your thoughts on whether Apache is a suitable place
for a programming language and compiler project?

Re: Are programming languages suitable for Apache?

Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
On Mon, Jan 9, 2023 at 12:22 AM Rupert Smith
<ru...@googlemail.com.invalid> wrote:
>
> On Sun, 8 Jan 2023 at 08:08, Vladimir Sitnikov <si...@gmail.com>
> wrote:
>
> > > You are right about that, and I think that ultimately could prevent it
> > from
> > > happening
> >
> > Can you elaborate?
> >
> > Suppose Apache Bicycle project takes the current Elm code in a source
> > form and evolves it.
> > It should be pretty much possible.
> >
> > BSD-3 code may be included in Apache projects.
> > BSD-3 does not forbid modifications.
> > Eventually, the newly added files (and completely rewritten ones)
> > would be licensed under Apache-2.
> >
>
> To elaborate, I was under the impression that copyright ownership of code
> had to be transferred to Apache, so thinking that is unlikely to happen so
> would be a deal breaker. But your comments on BSD-3 compatability are
> illuminating, thanks for the explanation.

FWIW: Apache HAWQ went through exactly the same exercise -- a lot of
existing code was from Postgres (under BSD-like license) but the new
code created when the project joined ASF was all under ALv2.

Thanks,
Roman.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: Are programming languages suitable for Apache?

Posted by Rupert Smith <ru...@googlemail.com.INVALID>.
On Sun, 8 Jan 2023 at 08:08, Vladimir Sitnikov <si...@gmail.com>
wrote:

> > You are right about that, and I think that ultimately could prevent it
> from
> > happening
>
> Can you elaborate?
>
> Suppose Apache Bicycle project takes the current Elm code in a source
> form and evolves it.
> It should be pretty much possible.
>
> BSD-3 code may be included in Apache projects.
> BSD-3 does not forbid modifications.
> Eventually, the newly added files (and completely rewritten ones)
> would be licensed under Apache-2.
>

To elaborate, I was under the impression that copyright ownership of code
had to be transferred to Apache, so thinking that is unlikely to happen so
would be a deal breaker. But your comments on BSD-3 compatability are
illuminating, thanks for the explanation.

Re: Are programming languages suitable for Apache?

Posted by Rupert Smith <ru...@googlemail.com.INVALID>.
On Sun, 8 Jan 2023 at 11:12, Justin Mclean <ju...@classsoftware.com> wrote:

> The BSD license is compatible with the Apache license, so there are no
> license or legal issues here. However in general, the ASF likes to play
> nice with other communities and not have hostile forks. You would need to
> come up with a good case to get the project accepted as an ASF incubating
> project.
>

The intention is not to create a hostile fork, and things are not being
driven by an acrimonious split in the community. I should also clarify for
the record that I like and respect Elms BDFL a great deal and view the
whole thing in an almost entirely positive light. Its a great piece of
software; a well rounded vision and a lot of hard work has gone into making
it so.

The issue that is beginning to force a fork is that Elm is not really
maintained. The 0.19.1 release came out in 2019, and there has been nothing
since. The usual argument is that as a compiler and language, rapid change
is not needed or appreciated, which is acceptable and certainly has
benefits in providing a long term stable platform to build on top of. The
difficulty is that there are bugs in the compiler and core packages and
some of those have had patches submitted as pull requests on GitHub - none
have been merged for around the last 4 years. Generally speaking, this has
not been too much of a problem. Certainly every time I have hit a bug I
have always managed to find a workaround and the severity of the issues has
not been bad. But there is the ever present risk of hitting bugs and having
no way to fix them.

My expectation of a well run open source project, would be that patches are
reviewed and accepted/rejected. Even if the feature set of a project does
not evolve quickly, it is reasonable to expect a series of point releases
that incorporate the acceptable contributed bug fixes.

My view is that a business relying on a piece of open source software
should always consider what the route to getting issues fixed is, and in
this case it simply feels like a dead end. Every 6 months or so it crops up
on the Elm Discourse forum, is discussed at length, and nothing changes.
Working as a software architect I feel that as much as I like Elm, I would
be dishonest if I did not score it as a DIVEST on a technology road map,
due to these risks and uncertainty around its maintenance.

Not to be too critical of the Elm BDFL though, he has a young family so
perhaps has less time on his hands that he used to, and has also explained
his perspective on things which is that he does not really enjoy this kind
of working in public, and having to engage with forums and chat where
strangers can make endless demands of him. We have to accept that we cannot
force him to work in ways he doesn't want to and respect his choices.

Hopefully this gives a truthful picture of things, though obviously this is
my personal take on how things are with Elm.

Re: Are programming languages suitable for Apache?

Posted by Rupert Smith <ru...@googlemail.com.INVALID>.
On Sun, 8 Jan 2023 at 15:59, Vladimir Sitnikov <si...@gmail.com>
wrote:

> See https://dev.to/kspeakman/elm-019-broke-us--khn ,
> https://discourse.elm-lang.org/t/native-code-in-0-19/826


Yes, this did happen... but I would also qualify it by adding that it
should have been very clear that the kernel interfaces are not public APIs
and should not have been relied upon. Warnings about this were given in
advance and ignored. It was certainly clear to me, and I have succesfully
upgraded code through Elm 0.17, to 0.18 to 0.19 - there has even always
been a nice `elm-upgrade` tool to help with some of the drudge work.

We should also infer from the 0.18 version number and conventions of
semantic versioning that 0.19 did not have to be backwards compatible. But
in the same light, production work based on 0.19 is taking the exact same
risks.

Quite often the Elm community asks for the current 0.19.1 version to simply
be re-published as 1.0.0. The quality of it is easily good enough to be a
version 1, and there community is large enough and contains more than
sufficient talent to maintain a version 1.

Re: Are programming languages suitable for Apache?

Posted by Vladimir Sitnikov <si...@gmail.com>.
> If the current owner of the code base is not acting in the best interest
of the wider community, then that might be a reason for it to be considered

Frankly speaking, my experience with Elm is limited to watching talks and
reading blogposts,
however, I incline that the code owner does ignore wide community.

See https://dev.to/kspeakman/elm-019-broke-us--khn ,
https://discourse.elm-lang.org/t/native-code-in-0-19/826

Long story short: elm changed the compiler in such a way that only modules
that come with elm-lang and elm-explorations
can integrate with "native JavaScript modules".
In other words, suppose someone selected Elm for creating web application.
It might be they reused one of the existing JavaScript libraries (e.g.
opensource or in-house ones).
Then Elm 0.19 appears, and only choice for the users is:
a) Rewrite all their JavaScript dependencies in Elm. That is fine
for enthusiasts, however, it is not the way to go for business apps
b) Stay with Elm 0.18. It implies "no security fixes", so it bad as well.

The case does sound like a show-stopper for using Elm in production for me.
Well, it might be ok for toy projects, however, I would really refrain from
selecting Elm for a prod system.
I would even consider tuning down and declining Elm-related talks for
conferences for exactly this reason:
the current Elm sounds like a trap.

---

Rupert>I like the values of Apache - openness, independance and plurality of
Rupert>contributors

Have you tried asking Apache Logging team to release one-liner fix for CVE
with 5..9 score in log4j 1.x?
The fixes are there. They can be easily reviewed, tested, and merged. They
would make a LOT of applications more secure
by a mere bumping of log4j 1.2.17 to 1.2.18 with CVE fixes.
The devastating news is that Apache Logging team completely ignores the
interests of log4j 1.x users, and, at the same time,
they block everybody else from releasing log4j 1.x fixes:
* They do not invite committers that are eager to support log4j 1.x
* They do not want to transfer log4j 1.x to a different TLP
* They ignore PRs and they ignore issues related to log4j 1.x. Their answer
is that "1.x is end-of-life, do not use it".
The reality is that there are people providing well-reviewed and
well-tested code, and the Logging team ignores the code.

What they say is "contribute to the log4j 2.x, and one day we might
consider inviting you as a committer".
That does not really scale, as releasing log4j 1.x requires at least 3 PMC,
so it would take ages to get new people contributing to Logging
and promoting them to PMCs. That means "Apache Logging" is not really
acting in the best interest of the global community that uses log4j 1.x.

Vladimir

Re: Are programming languages suitable for Apache?

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

The BSD license is compatible with the Apache license, so there are no license or legal issues here. However in general, the ASF likes to play nice with other communities and not have hostile forks. You would need to come up with a good case to get the project accepted as an ASF incubating project.
Pekko was recently accepted as it was seen that the owner made a hostile license change. If the current owner of the code base is not acting in the best interest of the wider community, then that might be a reason for it to be considered.

Kind Regards,.
Justin
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: Are programming languages suitable for Apache?

Posted by Vladimir Sitnikov <si...@gmail.com>.
> You are right about that, and I think that ultimately could prevent it from
> happening

Can you elaborate?

Suppose Apache Bicycle project takes the current Elm code in a source
form and evolves it.
It should be pretty much possible.

BSD-3 code may be included in Apache projects.
BSD-3 does not forbid modifications.
Eventually, the newly added files (and completely rewritten ones)
would be licensed under Apache-2.

Vladimir

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: Are programming languages suitable for Apache?

Posted by Rupert Smith <ru...@googlemail.com.INVALID>.
On Sat, 7 Jan 2023 at 13:32, PJ Fanning <fa...@apache.org> wrote:

> One thing to be aware of is that the license on Elm Compiler is BSD
> 3-clause license [1]. Generally speaking, the ASF would require the
> code to be granted to the foundation, including permission to change
> over to the Apache 2 license. In a community split scenario, this
> might not be feasible.
>

You are right about that, and I think that ultimately could prevent it from
happening. I don't think the BDFL has any intention of giving up ownership
of the code.

Re: Are programming languages suitable for Apache?

Posted by PJ Fanning <fa...@apache.org>.
Hi everyone,
I think the ASF has proved a good home for a large variety of
different projects. I don't see any reason why a project like Elm
couldn't flourish at the ASF.

One thing to be aware of is that the license on Elm Compiler is BSD
3-clause license [1]. Generally speaking, the ASF would require the
code to be granted to the foundation, including permission to change
over to the Apache 2 license. In a community split scenario, this
might not be feasible.
Maybe someone else with more expertise than me on the implications of
a BSD to Apache license switch can clarify the position.

Regards,
PJ

[1] https://github.com/elm/compiler/blob/master/LICENSE

On Fri, 6 Jan 2023 at 23:28, Dave Fisher <wa...@apache.org> wrote:
>
> Apache Groovy - https://groovy.apache.org/
>
> Sent from my iPhone
>
> > On Jan 6, 2023, at 1:46 PM, Rupert Smith <ru...@googlemail.com.invalid> wrote:
> >
> > Its been a long time since I was last involved as an Apache committer. Back
> > around 2004ish I contributed to the now defunct qpid project, which was an
> > implementation of the AMQP messaging protocol.
> >
> > These days, I am quite keen on the Elm programming language, but it is not
> > possible to contribute to its compiler+core packages, as only the BDFL
> > there has commit rights. The quality of the software is very high, and
> > there have been very few serious issues since its last release, but always
> > amongst the Elm community there is a recurring sense of frustration that
> > patches are ignored. It would seem eventually that some kind of community
> > fork needs to happen, if businesses using Elm are to feel secure in their
> > adoption of it. For this reason, I and others are exploring options.
> >
> > I like the values of Apache - openness, independance and plurality of
> > contributors - adopting some of the "Apache way" would seem to make sense
> > for a hypothetical fork of Elm.
> >
> > I looked at the list of Apache projects, and noticed that none are
> > programming languages (correct? Apache Harmony as an implementation of Java
> > was one). This also makes me wonder if Apache is a suitable place for such
> > a project. There are benefits to the bus-factor 1 BDFL model - a
> > programming language is a complex thing with sometimes subtle interactions
> > between its language features. Opinions are many, but turning them into a
> > cohesive set of ideas that make up a good language is not easy, so avoiding
> > all the distracting arguments by having things tightly controlled by a
> > single BDFL does make sense, and is not uncommon.
> >
> > On the other hand, what is really needed in this situation is the ability
> > to patch Elm, and to have a well run open source project through which to
> > do so.
> >
> > So I am curious to hear your thoughts on whether Apache is a suitable place
> > for a programming language and compiler project?

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: Are programming languages suitable for Apache?

Posted by Dave Fisher <wa...@apache.org>.
Apache Groovy - https://groovy.apache.org/

Sent from my iPhone

> On Jan 6, 2023, at 1:46 PM, Rupert Smith <ru...@googlemail.com.invalid> wrote:
> 
> Its been a long time since I was last involved as an Apache committer. Back
> around 2004ish I contributed to the now defunct qpid project, which was an
> implementation of the AMQP messaging protocol.
> 
> These days, I am quite keen on the Elm programming language, but it is not
> possible to contribute to its compiler+core packages, as only the BDFL
> there has commit rights. The quality of the software is very high, and
> there have been very few serious issues since its last release, but always
> amongst the Elm community there is a recurring sense of frustration that
> patches are ignored. It would seem eventually that some kind of community
> fork needs to happen, if businesses using Elm are to feel secure in their
> adoption of it. For this reason, I and others are exploring options.
> 
> I like the values of Apache - openness, independance and plurality of
> contributors - adopting some of the "Apache way" would seem to make sense
> for a hypothetical fork of Elm.
> 
> I looked at the list of Apache projects, and noticed that none are
> programming languages (correct? Apache Harmony as an implementation of Java
> was one). This also makes me wonder if Apache is a suitable place for such
> a project. There are benefits to the bus-factor 1 BDFL model - a
> programming language is a complex thing with sometimes subtle interactions
> between its language features. Opinions are many, but turning them into a
> cohesive set of ideas that make up a good language is not easy, so avoiding
> all the distracting arguments by having things tightly controlled by a
> single BDFL does make sense, and is not uncommon.
> 
> On the other hand, what is really needed in this situation is the ability
> to patch Elm, and to have a well run open source project through which to
> do so.
> 
> So I am curious to hear your thoughts on whether Apache is a suitable place
> for a programming language and compiler project?