Not officially approved yet, I think we should start a [DISCUSS] thread and eventually [VOTE]
On Mon, Mar 18, 2019 at 10:13 PM David Smith <dave.a.sm...@gmail.com> wrote: > Thanks Max! Out of curiosity, has that release SIP-12 been approved yet? I > have some thoughts but if it is already a done deal I'll wait until another > time. :-) > > On Mon, Mar 18, 2019 at 9:53 PM Maxime Beauchemin < > maximebeauche...@gmail.com> wrote: > > > Hi all, > > > > I wanted to send an email explaining the current state of releases and > > start a thread about what's ahead. > > > > Early on in the project lifecycle, I used to package releases and push to > > Pypi without much process. I'd package internal releases internally for > > Airbnb. We'd roll out to staging, stabilize the release, and launch in > > production. After a some time without major issues and regressions, I'd > > push a new release out to Pypi and make it available to the community. > That > > process worked ok when I reviewed or wrote most PRs and had a handle on > > everything that was going on. The community has grown much, and clearly > > that process has not been appropriate for quite some time now. > > > > Later on, we joined the Apache Software Foundation's incubator, and the > ASF > > has clear process around releases > > <http://www.apache.org/dev/release-publishing.html>. As an ASF project, > it > > was not reasonable for us to push to Pypi until we sorted out the process > > and followed the "Apache Way". Since `0.29` we've still been cutting > > release branches and labeling "release candidates", but have refrained > from > > publishing to Pypi. Those release branches contain commits that have been > > put into production at Lyft and/or Airbnb and elsewhere, but didn't meet > > the ASF's standards, so could not be published as releases. > > > > Also with the growing community, we clearly need a more structured > process > > around releases. John Bodley wrote a solid SIP > > <https://github.com/apache/incubator-superset/issues/6131> proposing a > > clear structure and process around releases, and details much of what the > > ASF release process does not. > > > > All this to say, *I'm starting some work on our first ASF-approved source > > code release*. For context, the ASF makes a distinction between "source > > code releases" and "convenience releases". The former contains the source > > code and build instructions, and the latter contains binaries and is made > > available in places like Pypi (or Maven / npm / RubyGem / ...). > > > > While the source code release should be pretty straight forward, it's not > > really, well, convenient. You can't just "pip install" that... The > > convenience release on the other hand is great, but may require more work > > and guidance from our mentors, ASF legal, license experts as the binaries > > may contain our Javascript bundles (or maybe they don't?) but then have > to > > have a gigantic LICENSE.txt file detailing the licenses of the 500+ > > Javascript libs that have accumulated in our `package-lock.json` over > time. > > Or maybe we ship without the bundles and add a `superset compile` command > > that does the fetching/build of the JS packages. Unclear to me. I'll need > > help figuring this out. For context here's some work I did trying to > > automate the LICENSE.txt creation > > <https://github.com/apache/incubator-superset/pull/5801> > > > > Anyhow, wanted people to know what's up since it's been so long since the > > last Pypi release, and give the opportunity for contributors to jump in > and > > help out. > > > > Let's get the [community] release process going! > > > > Max > > >