Invitation for v1.0.0

Post on 24-Jan-2015

3.527 views 1 download

description

RubyKaigi 2014 LT

Transcript of Invitation for v1.0.0

Invitation for v1.0.0RubyKaigi 2014 Lightening Talks2014/09/17TAGOMORI Satoshi (@tagomoris)

Satoshi Tagomori (@tagomoris)

Fluentd, Fluentd plugins, Norikra, ...

Do you publish your gems?

Do you release v1 or higher of your own gems?

Versioning rules

Traditional versioning

sizes of differences between each ver.

just feeling

Semantic versioning

API compatibility changes

Common rule:v1.0.0 is the first GA release

GA: General Availability

V0 gems are very dangerous!

“Before a 1.0 release (version 0.x.y), the API can and will be changing freely, without regard to the restrictions detailed below.” - APR project versionings

“Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.“ - Semantic Versioning 2.0.0

http://apr.apache.org/versioning.htmlhttp://semver.org/

Does your v0 gem say?

“This gem is under development.”

NO: All gems are under development anytime!

Your v0 gem actually says:“This gem

will be broken about public APIs.”

will break your environment.”

is not appropreate to production environment.”

“The author doesn’t use this gem in production.”

Is it true?

If it’s false:Please, release v1 to express not to break compatibilities.

A tale of norikra.gem

v0.0.1: May 21, 2013 (just before RubyKaigi 2013)

v0.0.1 - v0.0.24

v0.1.0: November 1, 2013 (w/ release of norikra.github.io)

v0.1.0 - v0.1.7

In our production environment from June 2013

Norikra v1.0.0

May 20, 2014

364 days after v0.0.1 release.

Norikra v1.0.1

May 21, 2014

Just 1 year after v0.0.1 release!

w/ some bug fixes :(

Norikra v1.0.0 says:

“We don’t break features and public APIs.”

“The author uses this product in their production environment.”

https://atnd.org/events/51508

@t_wada:

“Thus, there is a romance in versioning. It’s interesting.”

https://twitter.com/t_wada/status/506355034062213120

Versioning is a kind of (and very important) communication.

- tagomoris

How about fluentd?

Latest version of Fluentd is v0.10.x.

Will developers of Fluentd break compatibilities of plugins or configuration files?

YES!!!stay tune for Fluentd v0.12 & v0.14!