Intermediate update: right now it's 219 votes on Twitter (and 0 on this
thread: seems that people find Twitter a more convenient medium!), with 96%
who are either on Java 8 or can easily switch, vs. 4% who can not easily
switch.

Using a proportion confidence interval calculator, so far we're looking at
between 1.9 and 7.7% of users (at 95% confidence) needing Java 7 support :)

Willing users can help gather more votes by RT'ing the poll or chiming in
on this thread!

So: for now we don't yet have enough confidence that Java 7 support can be
dropped from the SDK (to remind, we'll conclude the vote on January 7th;
since people so overwhelmingly vote on Twitter, we may consider doing 3
more rounds of the same poll?..), however:
- It may be enough confidence to resolve to *build* the Beam SDK using JDK8
(at Java 7 source language level), which is something +Ismaël Mejía
<[email protected]> and +Daniel Oliveira <[email protected]> once
requested as part of building Java 9 support. I suspect that the sets
"users who need to build their own Beam SDK" and "users who can not upgrade
to Java 8" have a vanishingly small intersection.
- Then, we may consider also start building *tests* at Java 8 language
level, which will give the bulk of the benefit of encouraging
Java8-friendly APIs.
Thoughts on the above?

On Thu, Dec 7, 2017 at 6:22 PM Eugene Kirpichov <[email protected]>
wrote:

> A Twitter poll has been sent out too
> https://twitter.com/ApacheBeam/status/938926195910905857
> However, due to limitations of Twitter it can only be open for 7 days. I
> encourage people who are late to the poll to comment on this thread instead.
>
> On Thu, Dec 7, 2017 at 3:50 PM Eugene Kirpichov <[email protected]>
> wrote:
>
>> Followup: we would like to keep this poll open for 2 weeks, however some
>> people have expressed concern that this is too short.
>> Let us keep this poll open for 1 month starting today. So far the
>> agreed-upon decision has been to move forward with the plan if fewer than
>> 5% of all respondents choose option 3.
>>
>> On Thu, Dec 7, 2017 at 3:48 PM Eugene Kirpichov <[email protected]>
>> wrote:
>>
>>> This is a follow-up on a previous similar thread
>>> https://lists.apache.org/thread.html/2e1890c62d9f022f09b20e9f12f130fe9f1042e391979087f725d2e0@%3Cuser.beam.apache.org%3E
>>>  in
>>> which the community consistently expressed support for transitioning Beam
>>> Java to Java8-only.
>>>
>>> Now that the release of Beam 2.2.0 has completed, we are considering
>>> performing this change specifically in the immediate next release: Beam
>>> 2.3.0, i.e. dropping support for Java 7 without a bump in the major version
>>> of Beam.
>>>
>>> The reasons for switching to Java 8 in general are considered in the
>>> thread above.
>>> The reasons in favor of making the switch in Beam 2.3.0 are as follows:
>>> - It is believed that usage of Java 7 in production is already
>>> vanishingly small.
>>> - Since Java 7 has not been receiving even security updates for years,
>>> helping perpetuate its usage would be a bad idea
>>> - A major version bump is a major step and would likely happen only
>>> after a large number of other major changes in Beam accumulate - i.e. many
>>> months. Maintaining Java 7 compatibility for that long would have costs,
>>> including the awkward possibility of switching Beam to Java 8 after Java
>>> 8's end of life (September 2018 AFAIK)
>>> - Updating to Java 8 would lead to Beam more quickly gaining more
>>> Java8-friendly APIs, because Beam SDK authors and contributors would have
>>> more liberty, more responsibility and more experience with working in the
>>> context of Java8. Delaying until Beam 3.0 would delay this as well.
>>>
>>> With that in mind, we'd like to poll the Beam community to gather
>>> information about usage of Java 7 and Java 8 in production. Please vote:
>>>
>>> Option 1. I am already using only Java 8+ for building my production
>>> Beam code.
>>>
>>> Option 2. I am using Java 7 for building my production Beam code, but I
>>> would have no trouble with the switch to Java 8 [e.g. my transition to Java
>>> 8 would be easy and/or I don't expect that I'll have strong reasons to
>>> upgrade to Beam 2.3 anyway].
>>>
>>> Option 3. I am using Java 7 for building my production Beam code, and
>>> dropping Java 7 would be a blocker or hindrance to adopting the new release
>>> for me [e.g. I expect that I'll have strong reasons to update to Beam 2.3,
>>> but I expect that it will be difficult because of lack of Java 7 support]
>>>
>>>

Reply via email to