Yes, I agree - sorry.

I got a bit confused as to which thread I was “in” (while reading messages from 
each of them simultaneously) and there’s definitely a degree of overlap between 
the two of them topic-wise.

Anyway, I vented - just not in the right place. I still hope for some feedback 
on said venting...

> On 8 Feb 2018, at 03:42, Kevin Rushforth <kevin.rushfo...@oracle.com> wrote:
> 
> This has now veered off topic for this thread. It would be a fine topic for 
> the "future content of OpenJFX" thread.
> 
> -- Kevin
> 
> 
> John-Val Rose wrote:
>> <rant>
>> 
>> Well, not only do I think that a docking framework is *that* complex, I see 
>> it as an essential part of any serious graphics toolkit.
>> 
>> In general, I don’t understand all the limitations that people keep imposing 
>> on JavaFX as if we have to “settle” for what is basically a 2nd class 
>> citizen compared with toolkits in other languages.
>> 
>> Why can’t we just make JavaFX so compelling that developers from other 
>> languages are enticed by the feature set itself? There is no reason (other 
>> than a lack of effort) why JavaFX cannot be on par with Qt or Xamarin in 
>> terms of features, performance, tooling and adoption.
>> 
>> Am I the only one that believes the world’s most popular and amazing 
>> programming language, platform and the JVM deserves a first class graphics 
>> toolkit?
>> 
>> I understand the constraints imposed on Oracle staff but isn’t there anyone 
>> else out there in the community who shares my vision for JavaFX?
>> 
>> It seems the general attitude is that JavaFX just needs to be a “better 
>> Swing”.
>> 
>> Forget about this nonsense of “thinking outside the box”.
>> 
>> There is NO BOX!
>> 
>> JavaFX can and should be the best that we as a community can make it.
>> 
>> And then we just keep making it better...
>> 
>> If we don’t adopt such a vision and attitude then what is the point of doing 
>> anything at all? Just leave JavaFX to rot into oblivion and relegate Java to 
>> a server-side language only.
>> 
>> </rant>
>> 
>>  
>>> On 7 Feb 2018, at 19:25, Tom Eugelink <t...@tbee.org> wrote:
>>> 
>>> Well, I believe he was hinting at that a docking framework is considered
>>> more complex, there was no negative sentiment in that. Although I do not
>>> think a docking framework is that complex, but maybe I'm wrong.
>>> 
>>> And yes, ALMOST everyone is at ControlFX ;-)
>>> 
>>> 
>>> 
>>>    
>>>> Jonathan - why do you *cough* at ideas like more complex controls and
>>>> docking frameworks?
>>>> 
>>>> I think that a docking framework especially would be a great addition to
>>>> JavaFX.
>>>> 
>>>> Am I missing something?
>>>> 
>>>>      
>>>>> On 7 Feb 2018, at 18:16, Jonathan Giles <jonat...@jonathangiles.net>
>>>>> wrote:
>>>>> 
>>>>> Obviously everyone is at ControlsFX instead ;-)
>>>>> 
>>>>> Part of the drop I would suggest is simply that many of the itches
>>>>> people
>>>>> want to scratch are now scratched. Alternatively, the remaining itches
>>>>> are
>>>>> either in more complex controls (*cough* docking frameworks *cough*) or
>>>>> in
>>>>> areas beneath the controls APIs - performance, webview, etc - which are
>>>>> more challenging and require greater levels of dedication.
>>>>> 
>>>>> However, more generally, your point is well made - contribution to
>>>>> JavaFX
>>>>> does not need to be synonymous with contribution to OpenJFX. People who
>>>>> find the challenges of the current OpenJFX requirements too great should
>>>>> be
>>>>> encouraged to involve themselves in projects such as JFXtras, etc.
>>>>> 
>>>>> -- Jonathan
>>>>> 
>>>>>        
>>>>>> On Wed, Feb 7, 2018 at 3:05 PM, Tom Eugelink <t...@tbee.org> wrote:
>>>>>> 
>>>>>> Many years ago I had a discussion with Jonathan Giles about if the
>>>>>> things
>>>>>> that were being made in JFXtras would eventually become part of the
>>>>>> JavaFX
>>>>>> core. In the end I decided that, for me personally, I could do the
>>>>>> things I
>>>>>> wanted to perfectly in a separate project. The rigid structure that
>>>>>> Java(FX) has to adhere to, would be a big downside.
>>>>>> 
>>>>>> What I want to say with that is that all the external projects are also
>>>>>> contributions to JavaFX. It does not matter whether for example a
>>>>>> control
>>>>>> is part of the core distribution or of a side project; it is just
>>>>>> another
>>>>>> module users can add to the mix.
>>>>>> 
>>>>>> So reflecting back I still stand by that choice. But having a few more
>>>>>> people in the project (just like in JavaFX ;-) ) would be nice, but
>>>>>> OTOH it
>>>>>> forces me to deal with (and learn about) annoying stuff like Gradle
>>>>>> build
>>>>>> scripts and Java 9 migration. But because of that progress is not as
>>>>>> fast
>>>>>> as I would like it to be. Could it be that there is a decline in people
>>>>>> willing to work for open source projects? Or is it just that this tech,
>>>>>> JavaFX, is no longer appealing?
>>>>>> 
>>>>>> Tom
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>          
>>>>> Obviously everyone is at ControlsFX instead ;-)
>>>>> 
>>>>> Part of the drop I would suggest is simply that many of the itches
>>>>> people
>>>>> want to scratch are now scratched. Alternatively, the remaining itches
>>>>> are
>>>>> either in more complex controls (*cough* docking frameworks *cough*) or
>>>>> in
>>>>> areas beneath the controls APIs - performance, webview, etc - which are
>>>>> more challenging and require greater levels of dedication.
>>>>> 
>>>>> However, more generally, your point is well made - contribution to
>>>>> JavaFX
>>>>> does not need to be synonymous with contribution to OpenJFX. People who
>>>>> find the challenges of the current OpenJFX requirements too great should
>>>>> be
>>>>> encouraged to involve themselves in projects such as JFXtras, etc.
>>>>> 
>>>>> -- Jonathan
>>>>> 
>>>>>        
>>>>>> On Wed, Feb 7, 2018 at 3:05 PM, Tom Eugelink <t...@tbee.org> wrote:
>>>>>> 
>>>>>> Many years ago I had a discussion with Jonathan Giles about if the
>>>>>> things
>>>>>> that were being made in JFXtras would eventually become part of the
>>>>>> JavaFX
>>>>>> core. In the end I decided that, for me personally, I could do the
>>>>>> things I
>>>>>> wanted to perfectly in a separate project. The rigid structure that
>>>>>> Java(FX) has to adhere to, would be a big downside.
>>>>>> 
>>>>>> What I want to say with that is that all the external projects are also
>>>>>> contributions to JavaFX. It does not matter whether for example a
>>>>>> control
>>>>>> is part of the core distribution or of a side project; it is just
>>>>>> another
>>>>>> module users can add to the mix.
>>>>>> 
>>>>>> So reflecting back I still stand by that choice. But having a few more
>>>>>> people in the project (just like in JavaFX ;-) ) would be nice, but
>>>>>> OTOH it
>>>>>> forces me to deal with (and learn about) annoying stuff like Gradle
>>>>>> build
>>>>>> scripts and Java 9 migration. But because of that progress is not as
>>>>>> fast
>>>>>> as I would like it to be. Could it be that there is a decline in people
>>>>>> willing to work for open source projects? Or is it just that this tech,
>>>>>> JavaFX, is no longer appealing?
>>>>>> 
>>>>>> Tom
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>          
>>>>>>> On 7-2-2018 03:16, Kevin Rushforth wrote:
>>>>>>> 
>>>>>>> I would recommend against having a separate issue tracker or mailing
>>>>>>> list
>>>>>>> associated with the sandbox. That will create more confusion than any
>>>>>>> benefit you might have.
>>>>>>> 
>>>>>>> -- Kevin
>>>>>>> 
>>>>>>> 
>>>>>>> Nir Lisker wrote:
>>>>>>> 
>>>>>>>            
>>>>>>>> Another thing to be careful about with the sandbox/staging idea is
>>>>>>>> the
>>>>>>>> confusion that will arise with duplication. There will be 2 issue
>>>>>>>> trackers
>>>>>>>> (JBS and GitHub (or GitHub-like)), 2 repo addresses, 2 wikis, and
>>>>>>>> maybe 2
>>>>>>>> discussion lists. For those "in the know" this will be a simple
>>>>>>>> matter, but
>>>>>>>> for a potential contributor this can be a gamebreaker if not handled
>>>>>>>> appropriately.
>>>>>>>> 
>>>>>>>> Dalibor Topic's suggestion of contacting other mirrors can be
>>>>>>>> instrumental in solving these problems.
>>>>>>>> 
>>>>>>>> - Nir
>>>>>>>> 
>>>>>>>> On Mon, Feb 5, 2018 at 4:41 PM, Kevin Rushforth <
>>>>>>>> kevin.rushfo...@oracle.com <mailto:kevin.rushfo...@oracle.com>>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>  Yes, this sounds like a good step in the right direction. This
>>>>>>>>  would give anyone (with a signed OCA) the ability to create their
>>>>>>>>  own branch, commit changes to it, submit a PR, etc.
>>>>>>>> 
>>>>>>>>  I presume there will be a branch that is an exact mirror of the
>>>>>>>>  jfx-dev repo on OpenJDK in addition to the development branch in
>>>>>>>>  the sandbox?
>>>>>>>> 
>>>>>>>>  The only thing to consider is whether it should be Committers or
>>>>>>>>  Reviewers that have rights to merge into the sandbox development
>>>>>>>>  branch. There are pros / cons of each. I'd probably lean towards
>>>>>>>>  having it be Committers, with the idea that a Committer needs to
>>>>>>>>  sponsor the patch anyway and would then be able to "take it the
>>>>>>>>  rest of the way". The only downside I see is that you could end up
>>>>>>>>  with a few patches that get accepted into the sandbox dev branch,
>>>>>>>>  but never make it to the upstream jfx-dev repo (or not without
>>>>>>>>  significant change). I doubt this will be a big problem in
>>>>>>>> practice.
>>>>>>>> 
>>>>>>>>  Either way, this could also provide a good alternative to webrev
>>>>>>>>  when reviewing the final changes.
>>>>>>>> 
>>>>>>>>  -- Kevin
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  Johan Vos wrote:
>>>>>>>> 
>>>>>>>>      Hi Michael,
>>>>>>>> 
>>>>>>>>      This proposal is very much in line with my thinking as well.
>>>>>>>>      The problem is not that we don't have a github clone of
>>>>>>>>      OpenJFX. We have a
>>>>>>>>      number of them (e.g. I created
>>>>>>>>      https://github.com/javafxports/jfx-dev
>>>>>>>>      <https://github.com/javafxports/jfx-dev> some
>>>>>>>>      months ago). We just need a single one that is updated
>>>>>>>>      constantly from
>>>>>>>>      mainstream, and standardize on that. Let's call that "sandbox"
>>>>>>>>      (I would be
>>>>>>>>      ok with staging as well, but sandbox is imho more inviting to
>>>>>>>>      people who
>>>>>>>>      want to try something drastic, e.g. support for Vulkan)
>>>>>>>> 
>>>>>>>>      The main issue is how to get contributions, review them, and
>>>>>>>>      eventually
>>>>>>>>      send them upstream.
>>>>>>>> 
>>>>>>>>      The PR review process is extremely important. If we lower that
>>>>>>>>      bar, we
>>>>>>>>      loose quality. If the bar is too high, great PR's won't be
>>>>>>>>      accepted
>>>>>>>>      upstream as there is not enough review time to review it.
>>>>>>>> 
>>>>>>>>      I agree giving the current OpenJFX committers merge rights for
>>>>>>>> the
>>>>>>>>      "sandbox" repository makes sense. Once a public contribution
>>>>>>>>      is merged by
>>>>>>>>      one of those committers, that same committer can send it
>>>>>>>>      upstream to the
>>>>>>>>      existing OpenJFX repository. Additional checks will be
>>>>>>>>      performed there,
>>>>>>>>      mainly in order to make sure the overall "Feel of Java" is
>>>>>>>>      preserved. To
>>>>>>>>      that purpose, it would help to have a closer alignment with
>>>>>>>>      the OpenJDK
>>>>>>>>      community.
>>>>>>>> 
>>>>>>>>      We have to be aware that this will increase the workload of
>>>>>>>>      the current
>>>>>>>>      committers and reviewers. That is the price we pay for
>>>>>>>>      standardization.
>>>>>>>>      Rather than everyone creating his own forks of a UI framework
>>>>>>>>      in Java, we
>>>>>>>>      invest a lot in creating a single, generally agreed one.
>>>>>>>> 
>>>>>>>>      So in summary, I'm +1 on a 2-phase approach: "open" commits
>>>>>>>>      allowed in
>>>>>>>>      staging. OpenJFX committers accept PR's (if they are of good
>>>>>>>>      quality) and
>>>>>>>>      prepare upstream commits for OpenJFX. We hope there will be
>>>>>>>> more
>>>>>>>>      contributors who become committers and reviewers in the medium
>>>>>>>>      term.
>>>>>>>> 
>>>>>>>>      - Johan
>>>>>>>> 
>>>>>>>>      On Mon, Feb 5, 2018 at 3:57 AM Michael Ennen
>>>>>>>>      <mike.en...@gmail.com <mailto:mike.en...@gmail.com>> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>          Those are great questions, and I think with
>>>>>>>>          Kevin/Oracle/other OpenJFX devs
>>>>>>>>          help we
>>>>>>>>          can figure something out.
>>>>>>>> 
>>>>>>>>          My thinking is that the PR would be reviewed by basically
>>>>>>>>          anyone who has
>>>>>>>>          free time.
>>>>>>>>          I think that, at first, only OpenJFX committers will be
>>>>>>>>          able to merge PRs.
>>>>>>>>          They would
>>>>>>>>          do the final review/merge to the staging repo after it has
>>>>>>>>          been reviewed by
>>>>>>>>          the "wider audience"
>>>>>>>>          which includes people without commit rights (people like
>>>>>>>>          us). Then, as this
>>>>>>>>          thing evolves,
>>>>>>>>          based on the pool of people who are contributing both pull
>>>>>>>>          requests and PR
>>>>>>>>          reviews,
>>>>>>>>          the committers will be able to grant commit privileges to
>>>>>>>>          some people in
>>>>>>>>          that pool.
>>>>>>>> 
>>>>>>>>          I can't think of any way that would make it so the changes
>>>>>>>>          are as likely to
>>>>>>>>          be
>>>>>>>>          merged upstream as possible other than having the current
>>>>>>>>          OpenJFX
>>>>>>>>          committers paving the
>>>>>>>>          way. Hopefully this vision is aligned with Kevin's and
>>>>>>>>          hopefully these
>>>>>>>>          concrete details
>>>>>>>>          can be worked out.
>>>>>>>> 
>>>>>>>>          Regards,
>>>>>>>>          Michael
>>>>>>>> 
>>>>>>>>          On Sun, Feb 4, 2018 at 6:21 PM, Nir Lisker
>>>>>>>>          <nlis...@gmail.com <mailto:nlis...@gmail.com>> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>              So if a community ran GitHub is used for staging, who
>>>>>>>>              will approve PRs
>>>>>>>> 
>>>>>>>>          for
>>>>>>>> 
>>>>>>>>              the code and the Wiki of the GitHub repo?
>>>>>>>> 
>>>>>>>>              On Mon, Feb 5, 2018 at 2:40 AM, Michael Ennen
>>>>>>>>              <mike.en...@gmail.com <mailto:mike.en...@gmail.com>>
>>>>>>>>              wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                  Great points, Nir. We share the same hopes. I just
>>>>>>>>                  wanted to piggy-back
>>>>>>>>                  on the
>>>>>>>>                  wiki thing:
>>>>>>>> 
>>>>>>>>                  " * The Wiki could be open sourced as well (like
>>>>>>>>                  other Wikis). I could
>>>>>>>>                  definitely update a page or 2 there and so would
>>>>>>>>                  other developers as
>>>>>>>> 
>>>>>>>>          they
>>>>>>>> 
>>>>>>>>                  gain knowledge. I don't know yet how permissions
>>>>>>>>                  for that should be
>>>>>>>>                  handled."
>>>>>>>> 
>>>>>>>>                  This is another thing that we could use the GitHub
>>>>>>>>                  staging repository
>>>>>>>> 
>>>>>>>>          for.
>>>>>>>> 
>>>>>>>>                  The staging repository could have a wiki (projects
>>>>>>>>                  on GitHub can have
>>>>>>>> 
>>>>>>>>          one)
>>>>>>>> 
>>>>>>>>                  that is editable by all, and then maybe once a
>>>>>>>>                  month or so someone with
>>>>>>>>                  permissions
>>>>>>>>                  to edit to official wiki can sync with the new,
>>>>>>>>                  reviewed changes (the
>>>>>>>>                  once-a-month
>>>>>>>>                  time constraint is very flexible).
>>>>>>>> 
>>>>>>>>                  I am just trying to explain how the GitHub
>>>>>>>>                  repository "one-way mirror"
>>>>>>>>                  (potentially linked
>>>>>>>>                  with/managed by Adopt an OpenJDK) can act as a
>>>>>>>>                  staging ground for all
>>>>>>>>                  kinds of contributions to
>>>>>>>>                  OpenJFX.
>>>>>>>> 
>>>>>>>>                  By the way, I am trying to cleanup the groundwork
>>>>>>>>                  I did on getting
>>>>>>>>                  Appveyor builds to
>>>>>>>>                  run for openjfx, if indeed it is decided to setup
>>>>>>>>                  such a staging
>>>>>>>>                  repository. You can
>>>>>>>>                  see my efforts here:
>>>>>>>> https://raw.githubusercontent.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> com/brcolow/openjfx/f1b8978849fc371683b40931c17020421acc0057
>>>>>>>> /appveyor.yml
>>>>>>>> 
>>>>>>>>                  If the GitHub repository was setup, changes such
>>>>>>>>                  as these to add CI
>>>>>>>>                  infrastructure would
>>>>>>>>                  never be adopted by upstream OpenJFX, but would
>>>>>>>>                  allow for developer's to
>>>>>>>>                  get good
>>>>>>>>                  feedback on test results for all supported
>>>>>>>>                  platforms when they open a
>>>>>>>> 
>>>>>>>>          PR.
>>>>>>>> 
>>>>>>>>                  Merging a PR
>>>>>>>>                  on the public GitHub repository means, in my
>>>>>>>>                  opinion, that it is ready
>>>>>>>> 
>>>>>>>>          to
>>>>>>>> 
>>>>>>>>                  be opened as
>>>>>>>>                  an upstream bug/feature request. Automating the
>>>>>>>>                  process with patch sets,
>>>>>>>>                  webrevs, formatting/lint
>>>>>>>>                  results, etc. would be the most ideal situation
>>>>>>>>                  and I would be happy to
>>>>>>>>                  contribute to these
>>>>>>>>                  efforts.
>>>>>>>> 
>>>>>>>>                  Regards,
>>>>>>>> 
>>>>>>>>                  Michael Ennen
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                  On Sun, Feb 4, 2018 at 5:29 PM, Nir Lisker
>>>>>>>>                  <nlis...@gmail.com <mailto:nlis...@gmail.com>>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                       Hello,
>>>>>>>> 
>>>>>>>>                      As someone who has recently made the climb and
>>>>>>>>                      managed to build OpenJFX
>>>>>>>>                      with OpenJDK on Win 10 I might have some
>>>>>>>>                      relevant input.
>>>>>>>> 
>>>>>>>>                      --- Building OpenJFX ---
>>>>>>>> 
>>>>>>>>                      * With the recently updated instructions on
>>>>>>>>                      the Wiki, building OpenJFX
>>>>>>>> 
>>>>>>>>          is
>>>>>>>> 
>>>>>>>>                      not that hard. Having to build OpenJDK for
>>>>>>>>                      that was a real headache
>>>>>>>>                      because
>>>>>>>>                      their instructions and build tools are not up
>>>>>>>>                      to date (
>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8194645
>>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8194645>).
>>>>>>>>                      * The above doesn't mean that the process
>>>>>>>>                      shouldn't be made easier.
>>>>>>>>                      Ideally, it would be the as easy as working on
>>>>>>>>                      most open source
>>>>>>>> 
>>>>>>>>          projects
>>>>>>>> 
>>>>>>>>                      on
>>>>>>>>                      Github (not advocating git over hg): clone
>>>>>>>>                      into the IDE and start
>>>>>>>>                      working;
>>>>>>>>                      when a fix is ready, submit a PR. Don't know
>>>>>>>>                      if it's technically
>>>>>>>> 
>>>>>>>>          possible
>>>>>>>> 
>>>>>>>>                      in this case, but it's a target.
>>>>>>>>                      * The repository needs a good cleanup before
>>>>>>>>                      contributors start
>>>>>>>> 
>>>>>>>>          cloning (
>>>>>>>> 
>>>>>>>>                      bugs.openjdk.java.net/browse/JDK-8196198
>>>>>>>> <http://bugs.openjdk.java.net/browse/JDK-8196198>).
>>>>>>>> 
>>>>>>>>                      --- Working on OpenJFX ---
>>>>>>>> 
>>>>>>>>                      * It should be clear which tests need to run
>>>>>>>>                      for a specific patch.
>>>>>>>>                      Changes
>>>>>>>>                      can be made anywhere from the documentation
>>>>>>>>                      level to native code level
>>>>>>>>                      and
>>>>>>>>                      there's no reason to run the same tests for
>>>>>>>>                      all of these. If the
>>>>>>>> 
>>>>>>>>          process
>>>>>>>> 
>>>>>>>>                      can be automate it's even better.
>>>>>>>>                      * The Webrev tool seems archaic to me (and
>>>>>>>>                      part of its output is broken
>>>>>>>>                      as
>>>>>>>>                      far as I could tell). An IDE can create diff
>>>>>>>>                      patches with a couple of
>>>>>>>>                      clicks.
>>>>>>>>                      * The Jcheck tool seems archaic to me. It
>>>>>>>>                      should be ported to IDE
>>>>>>>>                      formatters which are to be distributed with
>>>>>>>>                      the source. No reason to
>>>>>>>> 
>>>>>>>>          run
>>>>>>>> 
>>>>>>>>                      a
>>>>>>>>                      tool that tells me which whitespaces I need to
>>>>>>>>                      go back and change when
>>>>>>>>                      something like Ctrl+Shift+F in an IDE finishes
>>>>>>>>                      the job.
>>>>>>>> 
>>>>>>>>                      --- Wiki ---
>>>>>>>> 
>>>>>>>>                      * The Wiki could be open sourced as well (like
>>>>>>>>                      other Wikis). I could
>>>>>>>>                      definitely update a page or 2 there and so
>>>>>>>>                      would other developers as
>>>>>>>> 
>>>>>>>>          they
>>>>>>>> 
>>>>>>>>                      gain knowledge. I don't know yet how
>>>>>>>>                      permissions for that should be
>>>>>>>>                      handled.
>>>>>>>>                      * Code conventions should be clearly listed.
>>>>>>>>                      * Separate sections with instructions should
>>>>>>>>                      be made for: (1) cloning
>>>>>>>> 
>>>>>>>>          and
>>>>>>>> 
>>>>>>>>                      building, (2) modifying, (3) running tests,
>>>>>>>>                      (4) submitting, and (5)
>>>>>>>>                      reviewing.
>>>>>>>>                      * Old sections should be cleaned up (I don't
>>>>>>>>                      think Discussions is
>>>>>>>> 
>>>>>>>>          useful
>>>>>>>> 
>>>>>>>>                      anymore).
>>>>>>>> 
>>>>>>>>                      --- Review policy ---
>>>>>>>> 
>>>>>>>>                      * I have no experience with review policies or
>>>>>>>>                      project roles so I can't
>>>>>>>>                      help here much (maybe after a discussion
>>>>>>>> starts).
>>>>>>>>                      * One thing I do know is that reviewers should
>>>>>>>>                      be extremely
>>>>>>>>                      knowledgeable,
>>>>>>>>                      which means that there aren't many qualified.
>>>>>>>>                      Because of this, if it
>>>>>>>>                      becomes "too" easy to contribute to OpenJFX,
>>>>>>>>                      careful measures need to
>>>>>>>> 
>>>>>>>>          be
>>>>>>>> 
>>>>>>>>                      taken as to not to swamp the few reviewers
>>>>>>>>                      with many patches (though
>>>>>>>> 
>>>>>>>>          some
>>>>>>>> 
>>>>>>>>                      would say this is an ideal situation). Some
>>>>>>>>                      sort of review queue might
>>>>>>>>                      help
>>>>>>>>                      with organization instead of the current email
>>>>>>>>                      system. I have no
>>>>>>>> 
>>>>>>>>          concrete
>>>>>>>> 
>>>>>>>>                      solution for this.
>>>>>>>> 
>>>>>>>>                      - Nir
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                      Message: 1
>>>>>>>> 
>>>>>>>>                          Date: Thu, 01 Feb 2018 15:26:24 -0800
>>>>>>>>                          From: Kevin Rushforth
>>>>>>>>                          <kevin.rushfo...@oracle.com
>>>>>>>> <mailto:kevin.rushfo...@oracle.com>>
>>>>>>>>                          To: "openjfx-dev@openjdk.java.net
>>>>>>>> <mailto:openjfx-dev@openjdk.java.net>"
>>>>>>>>                          <openjfx-dev@openjdk.java.net
>>>>>>>> <mailto:openjfx-dev@openjdk.java.net>>
>>>>>>>>                          Subject: More community participation in
>>>>>>>>                          JavaFX
>>>>>>>>                          Message-ID: <5a73a220.7030...@oracle.com
>>>>>>>> <mailto:5a73a220.7030...@oracle.com>>
>>>>>>>>                          Content-Type: text/plain;
>>>>>>>>                          charset=windows-1252; format=flowed
>>>>>>>> 
>>>>>>>>                          To: OpenJFX Developers
>>>>>>>> 
>>>>>>>>                          We are looking to grow the community of
>>>>>>>>                          contributors to the OpenJFX
>>>>>>>>                          project, especially serious contributors
>>>>>>>>                          who will stick around long
>>>>>>>>                          enough to become reviewers, to help us
>>>>>>>>                          keep the platform vibrant. To
>>>>>>>>                          this end we are looking at ways to
>>>>>>>>                          encourage more participation and
>>>>>>>> 
>>>>>>>>                      make
>>>>>>>> 
>>>>>>>>                          it easier for interested folks to
>>>>>>>> contribute.
>>>>>>>> 
>>>>>>>>                          We are specifically looking to discuss
>>>>>>>>                          ideas around the following
>>>>>>>> 
>>>>>>>>                      areas:
>>>>>>>> 
>>>>>>>>                          * Easing barriers to contribution (e.g.,
>>>>>>>>                          making JavaFX easier to
>>>>>>>> 
>>>>>>>>          build,
>>>>>>>> 
>>>>>>>>                          better documentation, making it easier to
>>>>>>>>                          test changes)
>>>>>>>> 
>>>>>>>>                          * Code review policies
>>>>>>>> 
>>>>>>>>                          * API / feature review policies
>>>>>>>> 
>>>>>>>>                          * Code review tools (we currently use
>>>>>>>>                          webrev, but that isn't set in
>>>>>>>> 
>>>>>>>>                      stone)
>>>>>>>> 
>>>>>>>>                          To keep this thread productive, the
>>>>>>>>                          following are explicitly out of
>>>>>>>> 
>>>>>>>>                      scope:
>>>>>>>> 
>>>>>>>>                          * Discussion of specific features or bugs
>>>>>>>>                          that you would like to
>>>>>>>>                          implement (or wish someone else would)
>>>>>>>> 
>>>>>>>>                          * Discussion about platform support
>>>>>>>> 
>>>>>>>>                          * Discussion about version control systems
>>>>>>>>                          (e.g., hg versus git),
>>>>>>>>                          hosting of the OpenJFX repos and bug
>>>>>>>>                          database (e.g., OpenJDK versus
>>>>>>>>                          github), etc...at least for now. We are
>>>>>>>>                          aware of the potential
>>>>>>>> 
>>>>>>>>          benefits
>>>>>>>> 
>>>>>>>>                          of such changes, but we'd like to focus
>>>>>>>>                          our efforts on
>>>>>>>> 
>>>>>>>>          higher-leverage
>>>>>>>> 
>>>>>>>>                          things we can do in the short term.
>>>>>>>> 
>>>>>>>>                          * Discussion about the requirement of a
>>>>>>>>                          signed OCA to become a
>>>>>>>> 
>>>>>>>>                      contributor
>>>>>>>> 
>>>>>>>>                          * Off-topic or tangential commentary about
>>>>>>>>                          OpenJFX that isn't
>>>>>>>> 
>>>>>>>>          directly
>>>>>>>> 
>>>>>>>>                          related to the topic at hand
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                          As a starting point for discussion, here
>>>>>>>>                          are some areas I think need
>>>>>>>>                          improvement; I'm sure there are others:
>>>>>>>> 
>>>>>>>>                          I. Helping contributors get started
>>>>>>>> 
>>>>>>>>                          It isn?t as easy to get started with
>>>>>>>>                          OpenJFX as it should be. We want
>>>>>>>> 
>>>>>>>>                      to
>>>>>>>> 
>>>>>>>>                          make it easier for potential OpenJFX
>>>>>>>>                          contributors to get started.
>>>>>>>> 
>>>>>>>>          Here
>>>>>>>> 
>>>>>>>>                          are some ideas that I think might help:
>>>>>>>> 
>>>>>>>>                          * Improve the build instructions / Wiki (I
>>>>>>>>                          made a first start, but
>>>>>>>> 
>>>>>>>>                      there
>>>>>>>> 
>>>>>>>>                          is much more to be done)
>>>>>>>> 
>>>>>>>>                          * Make the build itself more resilient
>>>>>>>>                          where possible, and provide
>>>>>>>>                          better error messages, specifically when
>>>>>>>>                          dealing with native
>>>>>>>> 
>>>>>>>>          compilers
>>>>>>>> 
>>>>>>>>                          and libraries
>>>>>>>> 
>>>>>>>>                          * Add an option to skip building all
>>>>>>>>                          native code and use prebuilt
>>>>>>>>                          binaries (like we do already for media and
>>>>>>>>                          webkit); this is tracked
>>>>>>>> 
>>>>>>>>          by
>>>>>>>> 
>>>>>>>>                          JDK-8092279, but it hasn?t been looked at
>>>>>>>>                          recently
>>>>>>>> 
>>>>>>>>                          * Make it easier to build / test your
>>>>>>>>                          local OpenJFX build using an
>>>>>>>>                          OpenJDK build (currently the only way to
>>>>>>>>                          do this is to build OpenJDK
>>>>>>>>                          locally, after using configure to point to
>>>>>>>>                          your just-built javafx.*
>>>>>>>>                          modules).
>>>>>>>> 
>>>>>>>>                          * Provide step-by-step instructions for
>>>>>>>>                          how to make a contribution,
>>>>>>>>                          including testing requirements; a lot of
>>>>>>>>                          the pieces are there, but
>>>>>>>> 
>>>>>>>>          are
>>>>>>>> 
>>>>>>>>                          out of date or scattered in several
>>>>>>>>                          places. As part of this, we could
>>>>>>>>                          have a section on how to contribute docs,
>>>>>>>>                          samples or tests, since
>>>>>>>> 
>>>>>>>>          that
>>>>>>>> 
>>>>>>>>                          is often a good place to start.
>>>>>>>> 
>>>>>>>>                          * Provide a sandbox environment where
>>>>>>>>                          contributors can discuss and
>>>>>>>> 
>>>>>>>>          test
>>>>>>>> 
>>>>>>>>                          ideas. For example, an OpenJFX mirror on
>>>>>>>>                          github, potentially
>>>>>>>> 
>>>>>>>>          connected
>>>>>>>> 
>>>>>>>>                          to AdoptOpenJDK.
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                          II. Code reviews and API reviews
>>>>>>>> 
>>>>>>>>                          Code reviews are important to maintain
>>>>>>>>                          high-quality contributions,
>>>>>>>> 
>>>>>>>>          but
>>>>>>>> 
>>>>>>>>                          we recognize that not every type of change
>>>>>>>>                          needs the same level of
>>>>>>>>                          review. Without lowering our standards of
>>>>>>>>                          quality, we want to make it
>>>>>>>>                          easier to get low-impact changes (simple
>>>>>>>>                          bug fixes) accepted.
>>>>>>>> 
>>>>>>>>                          There are three categories of changes,
>>>>>>>>                          each of which might merit a
>>>>>>>>                          different review standard:
>>>>>>>> 
>>>>>>>>                          1. Low-impact bug fixes. These are
>>>>>>>>                          typically isolated bug fixes with
>>>>>>>>                          little or no impact beyond fixing the bug
>>>>>>>>                          in question; included in
>>>>>>>> 
>>>>>>>>          this
>>>>>>>> 
>>>>>>>>                          category are test fixes (including new
>>>>>>>>                          tests) doc fixes, and fixes to
>>>>>>>>                          sample applications (including new
>>>>>>>> samples).
>>>>>>>> 
>>>>>>>>                          2. Higher impact bug fixes or RFEs. These
>>>>>>>>                          include changes to the
>>>>>>>>                          implementation that potentially have a
>>>>>>>>                          performance or behavioral
>>>>>>>> 
>>>>>>>>                      impact,
>>>>>>>> 
>>>>>>>>                          or are otherwise broad in scope. Some
>>>>>>>>                          larger bug fixes will fall into
>>>>>>>>                          this category, as will fixes in high-risk
>>>>>>>>                          areas (e.g., CSS).
>>>>>>>> 
>>>>>>>>                          3. New features / API additions. In
>>>>>>>>                          addition to reviewing the
>>>>>>>>                          implementation, we will need a separate
>>>>>>>>                          approval process for the new
>>>>>>>> 
>>>>>>>>                      API
>>>>>>>> 
>>>>>>>>                          / feature (such as the CSR, which is what
>>>>>>>>                          we use now, or a similar
>>>>>>>>                          process).
>>>>>>>> 
>>>>>>>>                          We take compatibility seriously, so
>>>>>>>>                          anything that adds new API needs
>>>>>>>> 
>>>>>>>>          to
>>>>>>>> 
>>>>>>>>                          be done with an eye towards supporting it
>>>>>>>>                          for at least 10 years. We
>>>>>>>>                          don't want to add new public API without
>>>>>>>>                          that level of commitment.
>>>>>>>> 
>>>>>>>>                      Every
>>>>>>>> 
>>>>>>>>                          new feature forecloses on alternate future
>>>>>>>>                          features. Significant
>>>>>>>> 
>>>>>>>>          effort
>>>>>>>> 
>>>>>>>>                          must be taken to think about "if we did
>>>>>>>>                          this, what could it interact
>>>>>>>>                          with in the future?" Also, anything with a
>>>>>>>>                          large potential impact on
>>>>>>>>                          performance or behavioral compatibility
>>>>>>>>                          needs to be looked at
>>>>>>>> 
>>>>>>>>                      carefully.
>>>>>>>> 
>>>>>>>>                          Put another way, we want to encourage
>>>>>>>>                          thinking about new features or
>>>>>>>> 
>>>>>>>>                      new
>>>>>>>> 
>>>>>>>>                          API in terms of a design / stewardship
>>>>>>>>                          process; to think in terms of
>>>>>>>>                          questions like "what's the right thing for
>>>>>>>>                          JavaFX in the next 10+
>>>>>>>> 
>>>>>>>>                      years"
>>>>>>>> 
>>>>>>>>                          rather than "here's some code that solves
>>>>>>>>                          my problem, please take
>>>>>>>> 
>>>>>>>>          it".
>>>>>>>> 
>>>>>>>>                          As a stake in the ground, I might suggest
>>>>>>>>                          the following:
>>>>>>>> 
>>>>>>>>                          * All changes need at least one reviewer
>>>>>>>>                          other than the person making
>>>>>>>>                          the change who can evaluate the change for
>>>>>>>>                          correctness and
>>>>>>>> 
>>>>>>>>          consistency.
>>>>>>>> 
>>>>>>>>                          For simple bug fixes, a single reviewer
>>>>>>>>                          may be sufficient. Of course,
>>>>>>>>                          one of our big challenges in all this is:
>>>>>>>>                          "how do we grow more
>>>>>>>>                          reviewers?", by which I mean "how do we
>>>>>>>>                          facilitate getting
>>>>>>>> 
>>>>>>>>          contributors
>>>>>>>> 
>>>>>>>>                          with enough expertise in a given area to
>>>>>>>>                          eventually be able to
>>>>>>>>                          effectively review contributions from
>>>>>>>> others?"
>>>>>>>> 
>>>>>>>>                          * We need clear criteria for the other two
>>>>>>>>                          categories that balance
>>>>>>>>                          process efficiency with the desire to
>>>>>>>>                          maintain compatibility and
>>>>>>>>                          stability. API changes need to be approved
>>>>>>>>                          by a lead. My thought is
>>>>>>>> 
>>>>>>>>          to
>>>>>>>> 
>>>>>>>>                          combine the last two into a single
>>>>>>>>                          category for purposes of reviewing
>>>>>>>>                          the implementation. Anything that affects
>>>>>>>>                          public API or behavioral
>>>>>>>>                          compatibility will require CSR or similar
>>>>>>>>                          approval, over and above
>>>>>>>> 
>>>>>>>>          the
>>>>>>>> 
>>>>>>>>                          implementation review, which seems
>>>>>>>> sufficient.
>>>>>>>> 
>>>>>>>>                          * I recommend that we formalize the
>>>>>>>>                          concept of reviewers, using the
>>>>>>>>                          OpenJDK Reviewer role for the Project. We
>>>>>>>>                          might also consider if we
>>>>>>>> 
>>>>>>>>                      want
>>>>>>>> 
>>>>>>>>                          to make any changes to the criteria used
>>>>>>>>                          by the JDK Project for
>>>>>>>> 
>>>>>>>>                      becoming
>>>>>>>> 
>>>>>>>>                          an OpenJFX Project Author, Committer, and
>>>>>>>>                          Reviewer. The OpenJDK
>>>>>>>> 
>>>>>>>>          bylaws
>>>>>>>> 
>>>>>>>>                          allow projects a fair degree of latitude
>>>>>>>>                          to define these criteria, so
>>>>>>>> 
>>>>>>>>                      we
>>>>>>>> 
>>>>>>>>                          might consider making some modifications.
>>>>>>>>                          For example, we might make
>>>>>>>> 
>>>>>>>>          it
>>>>>>>> 
>>>>>>>>                          somewhat easier for a Contributor to
>>>>>>>>                          become an Author, or for a
>>>>>>>>                          Committer to become a Reviewer. I have
>>>>>>>>                          some thoughts on this, but
>>>>>>>> 
>>>>>>>>          want
>>>>>>>> 
>>>>>>>>                          to hear from others first.
>>>>>>>> 
>>>>>>>> 
>>>>>>>>                          I look forward to feedback on this
>>>>>>>>                          proposal, and hope it will spark a
>>>>>>>>                          productive discussion.
>>>>>>>> 
>>>>>>>>                          -- Kevin Rushforth, OpenJFX Project Lead
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>              

Reply via email to