[LEDE-DEV] Talks between OpenWrt and LEDE

Hauke Mehrtens hauke at hauke-m.de
Wed Dec 21 10:06:22 PST 2016

We had multiple meetings to find a solution to solve the problems
between the OpenWrt and the LEDE project and to discuss a possible
merge. Everyone with commit access to LEDE and all OpenWrt core
developers were invited to these meetings. We had productive and
friendly discussions about the problems and our goals.

To be more open and to involve the wider community in these discussions
we would like to publish the meeting minutes from the meetings.

The first in person meeting took place in Berlin at the OpenWrt Summit
on 13. October 2016, but no one took any minutes so we do not have
anything to publish.
The second meeting was an audio conference on 5. November 2016 and
Florian took minutes which are attached to this mail.
At the third audio conference meeting on 3. December 2016 Jow took
minutes which are also attached to this mail.
The last meeting took place on 19. December 2016.
These minutes are representing the current state of the discussions and
are not PR polished.

We agreed on giving Imre, Zoltan and Luka commit access to the LEDE
repository so they can migrate changes they care about and which are not
in LEDE, from the OpenWrt repository to the LEDE repository. We also
encouraging everyone who sent a patch, which got merged into OpenWrt and
which is not in LEDE to send it also to LEDE for integration.

It is still not decided that both project will finally merge and we
haven't decided on the name to use, which parts of the infrastructure
and many other things. In general we are agreeing on many parts and I am
looking forward to a good merged ending for all of us.
-------------- next part --------------
[please fill in missing stuff]

1) Initiate vorting on granting voting rights to wiki people -> Mail will be sent tomorrow
2) Ethical guidelines on the usage of project mail addresses based on Debian
     - who?
     - when?
3) Agreed LEDE work flow:
    - Patches through mailing lists
    - Patches through pull requests
    - Changes aggregated, shaped up in developers own staging tree(s)
    - Criticial fixes may go directly into the tree (typo, brick-fixes etc.)
4) Current OpenWrt work flow:
    - Patchwork is lingering atm
    - Main source are Github PRs
    - Defer decision on whose infra to use until later
5) LEDE ticket/bug tracking explained
    - bugs.lede-project.org
    - github issues disabled
    - no formalized process for ticket timeout
        - atm. manual closing after like 4 weeks
        - formalized/automatic process can be established if needed
6) Summarized LEDE infrastructure
    - 3 Hetzner servers (2x EX40, 1x EX51), about 150 Euro/Month
    - Digital Ocean Hosting Credits $3000 / Year, currentling running four small instances
        for forum, wiki, git and utility stuff
    - Domain about 20 Euro/Year
    - Infra paid by Felix (1x EX40), by John (1x EX40), by Jo (1x EX51, Domain)
7) Summarized OpenWrt infrastructure
    - drone.io - backed by one server operated by Luka (?)
    - [discussion about insufficient resources for full coverage]
    - Zoltan hosts: buildbot, wiki on virtual servers at a private company (would take 80-100EUR/month if it would be from the market)
    - Imre operates server sponsored by Lantiq: 640GB disks? Monthly hosting costs TBD with Imre
    - [discussion on build CI capabilities, pro/cons of buildbot]
    - release manual is needed for lede
8) on releases
    - releases need to be automated
    - release procedure manual needs to be written
    - volunteers needed for backporting
9) on naming / domain
    - LEDE is willing to hand over the domain to 3rd party
    - using OpenWrt.org would require it to be handed over to an independant party like SPI
    - lede-project.org as well
    - John, Jo are willing to donate money for covering domain expenses during the next years
        - Domain holder (SPI, SLFC etc.) shall only react to domain change request publically 
          communicated on the projects mailing lists
        - John suggested to have name server maintenance at domain holder as well
        - Imre wants to stay with SPI
10) on server access
    - distribute root access to 4+ people
    - avoid trust issues by avoiding "secrets" on the servers like personal mail boxes
    - [John and Jo explained current server admin model]
11) summarizing LEDE position
    - grant repository push access to openwrt developers
    - grant sserver root access to openwrt developers
    - merge outstanding openwrt changes to lede tree
    - use common codebase for openwrt and lede
    - John explains that there is no real role distinction, there should be a rough consent
      among *still active* contributors
    - Thrive for broad agreement, resolve issues through voting
12) summarizing openwrt position
    - stance regarding repository usage changed since last meeting, lede shall notify the 
      community about that as well
    - project name ("flag to sail under") should be sorted out before deciding on repository
    - Felix argues that common tree benefits anyone, even without deciding rest
    - Question about platform/tree maintainer role models
    - Luka wonders how the non-maintainer model will work out in practice
        - John and Felix propose a simple model: trivial changes right away, possibly 
          controversial ones discussed
        - John proposes a simple RFC patch series to the list if unsure
    - Zoltan worries about unsolicited breaking changes
        - John responds that in such a case, such changes are reverted and offending developer
          is asked to discuss such things in the future
        - Felix argues that fixed responsibilities are hindering patch merging due to idle wait time
        - Jo explained that fixing up imperfect patches / PRs in own staging tree often helps in
          merging stuff that would otherwise get lost
        - Zoltan wonders if this improves contribution quality over time
            - John says sometimes / sometimes not, mostly yes
            - [John and Jo shared some anecdotal examples]
    - Luka asks about forum / wiki / tracker etc.
        - John and Luka consider Trac as closed / archived
    - Imre wonder if there's much of a remerge if OpenWrt just gives up own structures and
      wonders about the apparent reverse of direction since the last call
        - John argues that decision on name / identity is different from discussion on direction
        - Felix points out that there are different opinions within the project and that we still
          try to find a common ground
        - Felix hints at propable misunderstanding in his ability to represent the entire project
    - [more discussion on offloading work to contributors, on reducing the decision load on
       specific person]
        - John shares experience with wiki and forum, voluntary work
        - Felix seconded that there's been no problems with this approach so far
13) conclusion / move forward
    - Imre? agrees on moving forward with handing out push access to the LEDE tree to the 
      OpenWrt developers
    - John and Felix note 
    - First step:
        - Agreement on using the LEDE tree as a starting point for any future potential merge effort
        - OpenWrt developers get commit access to that tree
        - All OpenWrt commits that are not in LEDE yet get evaluated and merged where it makes sense.
    - Zoltan wants the CC branch untouched, mutual agreement

-------------- next part --------------
OpenWrt / LEDE follow up meeting

1. Results from meeting at prpl OpenWrt summit

Agreed upon:

- merging back together
- using OpenWrt as the merged back project name
- discuss using the LEDE codebase moving forward (undecided but likely)
- most of the problems with OpenWrt were lack of documentation on processes (voting, governance, etc..)
- have enouh people have access to the infrastructure to make it reliable and fault tolerant
- wait for the next meeting to communicate publicly about the meetings we just had, just to give a chance for people who could not participate today (Nov 5th) to chime in and voice concerns, by the next meeting we should have a clear plan to move forward

Not yet agreed upon, still being discussed:

- LEDE gives voting rights to other people who are not developers, who are they? Needs to be documented and clarify what people can vote on, question as to whether these people should be part of the merging back together process?

- email addresses? Imre would like to keep his @openwrt.org for open source contributions. Either we can reinstate the @openwrt.org email address for all developers, existing addresses could keep being used, but we would not necessarily give new addresses? Existing emails addresses should keep working for incoming emails (avoid bounces)

Up in the air:

- workflow between LEDE and OpenWrt? Using Github to gather pull requests, but not use the merge pull request feature of Github, have staging trees for queuing changes, and then merge into the main tree

- codebase merging strategy: try to get OpenWrt merged into LEDE, and reach out to the community to help resolve the missing bits

- branches like BB and CC, can live in branches in the same repository, but their history would most likely diverge from the repository's master branch at that point. There is a request to make a point release of CC including security fixes

- commits that did change the branding/copyright: it all depends on which name we pick as the merge back project name, and just make sure that we "revert" or maintain these changes

- FSC (conservancy.org) vs. SPI ownership of the trademark, Imre is in favor of using the SPI, even though they did not do anything for OpenWrt, but they were not really asked either. FSC is capable of taking care of the full transfer from SPI to themselves. We need to audit carefully what the FSC offer, how they would represent us, and what are the downsides. Needs more thought as to what to do here. Gregers is stepping down from primary contact to secondary point of contact. Imre would have access to more complete information about the SPI; costs, legal aspects, etc.


- forget about the Designated Driver release, and just do "something else". LEDE did not really have a DD release within LEDE. We should stop doing a named released (Felix) and just go with dates. Imre sees things differently and things that codenames of releases stick around, so a named release is kind of helpful. Felix suggests that for the few upcoming releases, we have a set of names that are readily usable as a release name, such that the name selection in itself does not delay the release. Essentially Felix suggests we break from the cocktail names pattern to have a wider choice of option. Luka floated the idea of using uptimes, because, well it's a reboot, right? Felix insists that we should really not be dragged down by the release name selection, because releasing is more important than choosing the name

- meet in person more often, which should help avoid the issues we are resolving at the moment, so we can celebrate with cocktails every releases!!!

- Imre proposes to extend the trademark to be international. Felix suggests that anything happens between now and the merge back timeframe, there should be a public communication about it, because it affects both projects and the future of the rebooted project

- Felix proposes that we have the OpenWrt people get access to the LEDE project, and vice versa, such that we can create a smooth transition. This should help with the non infrastructure related part of the bring back together. There is not expectation to make it happen right now but it is something that is both desirable and not controversial


- target january to merge back together and have time to resolve differences between the teams

Possible sources of controversy:

- what to do with the OpenWrt server: Imre is fine giving access to the box, but there are some legal concerns (e.g: who (co)owns the server). Imre is not comfortable with giving root access with someone he, or others have not known for some time. We should try to cover a good timespane that covers multiple timezones, both Europe, and the USA (no developer in Asia). Imre proposed to give Florian adminstrative access to the box since he is located in America.

- Imre brought the topic of what needs to be kept public and what should be private, and should we keep some kind of database of who works for who/what to avoid stepping on each others toes. Regardless of that part that is more "project management" oriented, we should have a way to reach out to each other (e.g: phone numbers, location etc.) but we should have some kind of way to know that if service X is down, we can reach out to specific people, using specific communication means (e.g: no text messages after 2AM etc.). Felix is fine with that idea, but we should keep most (all?) of the project discussions public by default

 - Gather a list of people with voting rights -> felix
- Define an ethical guideline on how to post using his/her @openwrt.org email and make sure that this is adopted. Ethical guideline should be put in a way that is clear, and easy to find, and can reference other things, like the trademark policy
- Define a general developer guideline that details how the representation of the project is going to happen (using, or not, @openwrt.org email), how trademark applies etc.
- Ask people who could not attend if they agree with the LEDE workflow, and if so, can we utilize it
- Setup a separate/subsequent meeting to discuss adminstrative rights on the @openwrt.org infrastructure and resolve potential conflicts between LEDE/OpenWrt
- Ask Eric to add Hungarian and Croatian dial-in numbers, Imre indicated that Gotomeeting has numbers in all countries, so it's just a matter of updating Eric's account
- Hauke: create a duddle link

Next meeting date:

- proposal: November 21st


- trademark policy is already available: https://openwrt.org/trademark.php

-------------- next part --------------
OpenWrt/LEDE meeting #3 notes

Date: 12/19/2016
Attendees: Hauke, Zoltan, John, Felix, Florian, Ted, luka, hans, mathias, jonas, matthias, 

John started giving the list of "conditions" that had been asked for from LEDE, and Zoltan did the same thing for OpenWrt.

Imre has been writing a developper code of conduct, and wanted to talk to Mike. Zoltan indicated he would like to see a documentation on the web about the LEDE workflow, as well as a list of people with voting right (currently being migrated to the new LEDE wiki). In particular, are there any people who have higher voting rights than other (if that exists). That is not the case, nobody in LEDE has special voting powers, and voting is used as a last resort to solving problems. General idea is really to solve problems by communicating and not resort to that.

LEDE rules: https://lede-project.org/rules

Action items:

- document the LEDE workflow
- propose the OpenWrt developer code of conduct
- talk to Mike Baker
- prepare a list of preriquisites from OpenWrt towards LEDE

From last meeting:

- send public keys to get commit access and merge the two trees
  send keys to myself (thess) or jow or john
- re-iterate the merge should be a merge, and not keeping LEDE as bleeding edge and OpenWrt as release

Development documentation: https://lede-project.org/docs/guide-developer/the-source-code#staging_trees

Open topics:

- infrastructure: mailing-lists, wiki, bugtracker, git trees, forum, rsync/mirror, website, DNS, 
- trademark ownership

More information about the Lede-dev mailing list