Hi Davor,

Fully agree. It would be great to have a first 1.0.0 "stable" release in a near future.

Thanks !
Regards
JB

On 02/22/2017 03:31 AM, Davor Bonaci wrote:
Graduating from incubation was our single, unifying goal for the past year.
With graduation now behind us, I think it is worth looking ahead towards
the next major milestone: the first stable release.

I think the first stable release is the logical next step. It enables the
growth of our user community by providing necessary guarantees and
confidence to deploy Beam into production. It is our message to the world:
“Beam is ready for prime time”.

With that, I’d like to start a discussion what the stable release really
means. For me, it is two equally important things:
* Production quality: it “just works”.
* Commitment to the API compatibility for the user-facing APIs.

Production quality is sometimes hard to define, but includes the following:
* No (known) major bugs.
* Polished user experience.
* Good documentation.
* Support for all major operating systems.
* Dependencies hidden from the callers (shading, API surface tests).
* Etc.

On the other hand, the API compatibility aspect includes:
* Proper use of semantic versioning [1]: major.minor.patch.
* No backward-incompatible API changes within a given major version for the
user-facing APIs across the project.
* Exception: APIs marked as experimental.
* Exception: internally-facing APIs, such as APIs between components.
* Any and all work can still proceed; we just need to be careful to do it
in a compatible way, at the worst, by introducing a new API and deprecating
the old one.

Time-wise, I think we are not far away from this goal. We do have a
compelling offering. Our APIs are already fairly stable. We just need a
little bit of effort across the project to polish the experience and do
those last few changes we always wanted. With that, I’d suggest to target:
* One more pre-release in late February/early March.
* The first stable release around the end of March.

I think it is worth noting that we’ll never get to perfection, and we’ll
never be able to finish “everything”. All that work, however, can still
proceed after the first stable release (just with a little extra overhead).

I’d love to hear everyone’s thoughts on this topic. It involves the future
project direction -- I’d like to invite everyone to participate!

If we have a consensus, I’d like to start marking progress on this effort
rather quickly. Perhaps we can jointly coordinate a project-wide effort to
polish the last few things and reach the first stable release.

Thanks!

Davor

[1] http://semver.org/


--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to