+1

The semantics conveyed by "feature release" are compatible with the meaning
of "minor release" under strict SemVer, but as argued are clearer from a
user-communication point of view.

http://semver.org

Nick
2016년 7월 28일 (목) 오후 7:20, Matei Zaharia <matei.zaha...@gmail.com>님이 작성:

> I also agree with this given the way we develop stuff. We don't really
> want to move to possibly-API-breaking major releases super often, but we do
> have lots of large features that come out all the time, and our current
> name doesn't convey that.
>
> Matei
>
> On Jul 28, 2016, at 4:15 PM, Reynold Xin <r...@databricks.com> wrote:
>
> Yea definitely. Those are consistent with what is defined here:
> https://cwiki.apache.org/confluence/display/SPARK/Spark+Versioning+Policy
>
> The only change I'm proposing is replacing "minor" with "feature".
>
>
> On Thu, Jul 28, 2016 at 4:10 PM, Sean Owen <so...@cloudera.com> wrote:
>
>> Although 'minor' is the standard term, the important thing is making
>> the nature of the release understood. 'feature release' seems OK to me
>> as an additional description.
>>
>> Is it worth agreeing on or stating a little more about the theory?
>>
>> patch release: backwards/forwards compatible within a minor release,
>> generally fixes only
>> minor/feature release: backwards compatible within a major release,
>> not forward; generally also includes new features
>> major release: not backwards compatible and may remove or change
>> existing features
>>
>> On Thu, Jul 28, 2016 at 3:46 PM, Reynold Xin <r...@databricks.com> wrote:
>> > tl;dr
>> >
>> > I would like to propose renaming “minor release” to “feature release” in
>> > Apache Spark.
>> >
>> >
>> > details
>> >
>> > Apache Spark’s official versioning policy follows roughly semantic
>> > versioning. Each Spark release is versioned as
>> > [major].[minor].[maintenance]. That is to say, 1.0.0 and 2.0.0 are both
>> > “major releases”, whereas “1.1.0” and “1.3.0” would be minor releases.
>> >
>> > I have gotten a lot of feedback from users that the word “minor” is
>> > confusing and does not accurately describes those releases. When users
>> hear
>> > the word “minor”, they think it is a small update that introduces couple
>> > minor features and some bug fixes. But if you look at the history of
>> Spark
>> > 1.x, here are just a subset of large features added:
>> >
>> > Spark 1.1: sort-based shuffle, JDBC/ODBC server, new stats library, 2-5X
>> > perf improvement for machine learning.
>> >
>> > Spark 1.2: HA for streaming, new network module, Python API for
>> streaming,
>> > ML pipelines, data source API.
>> >
>> > Spark 1.3: DataFrame API, Spark SQL graduate out of alpha, tons of new
>> > algorithms in machine learning.
>> >
>> > Spark 1.4: SparkR, Python 3 support, DAG viz, robust joins in SQL, math
>> > functions, window functions, SQL analytic functions, Python API for
>> > pipelines.
>> >
>> > Spark 1.5: code generation, Project Tungsten
>> >
>> > Spark 1.6: automatic memory management, Dataset API, ML pipeline
>> persistence
>> >
>> >
>> > So while “minor” is an accurate depiction of the releases from an API
>> > compatibiility point of view, we are miscommunicating and doing Spark a
>> > disservice by calling these releases “minor”. I would actually call
>> these
>> > releases “major”, but then it would be a larger deviation from semantic
>> > versioning. I think calling these “feature releases” would be a smaller
>> > change and a more accurate depiction of what they are.
>> >
>> > That said, I’m not attached to the name “feature” and am open to
>> > suggestions, as long as they don’t convey the notion of “minor”.
>> >
>> >
>>
>
>
>

Reply via email to