Alan,

Here's another perspective, based on the conventions used in most of the
products I have worked on (okay, that's not a lot but some of them are
well regarded by customers).

Rather than focusing on the specific number, it is the transition which
is important & tells users something. Let me explain - most products use
a <major>.<minor>.<patch> style 3-number release numbering externally.
Change of each of these numbers has some significance:
- there should be complete (binary) backward compatibility for
interfaces across patch releases, interoperability with other products;
product change should be primarily bug fixes
- there should be backward compatibility for interfaces across minor
releases, there may be some interoperability changes (e.g., requiring a
different version of one of the dependencies); product change is
expected to contain new features
- there can be substantial changes across major releases (architecture,
interfaces, interoperability); interfaces (APIs, callback interfaces,
etc.) are still expected to be source-level compatible (i.e., you may
ask clients to recompile); in rare cases you can break interfaces and
ask external code to be re-written/edited.

By this definition, 0.7.0 was probably 1.0.0 (given that UDFs were
forced to make code changes).

-sanjay

-----Original Message-----
From: Alan Gates [mailto:ga...@yahoo-inc.com] 
Sent: 04 March 2011 00:14
To: user@pig.apache.org
Subject: Re: [DISCUSSION] Pig.next

I agree that there will probably need to be several 0.9.x releases as
the new optimization and parser work mature.  As a consequence of this
it may be longer between 0.9 and Pig.next then there has been between
the last few releases.  That only delays the question of what we call
Pig.next, it does not answer it.

To me, declaring 1.0 would mean the following things:

1) Pig is ready for production use, at least by the brave.
2) It is still rough around the edges, you do not get a smooth product
until 2.0 or later.
3) We will not make non-backward compatible changes to interfaces we
have declared stable.

Pig is in use in production in multiple places, I do not think anyone
will argue that it is not rough around the edges, and because we have
users who run tens of thousands of Pig jobs daily non-backward
compatible changes are impossible anyway.

As for waiting for Hadoop to go 1.0, that is like waiting for Congress
to fix social security.  I am sure they will get there, but I may be
retired first.  In all seriousness, the Hadoop project has not been
moving with speed or agility over the last few years, and I do not think
waiting for them to do something is a good idea.  Nor do I see it as
necessary.  Before we could go 1.0 would we insist that every jar we
import is >= 1.0?  Yes we are bound more tightly to Hadoop then we are
to log4j.  But we are still our own project.  1.0 is a claim we are
making about ourselves, not about the platform we run on.  We should
choose our release numbering in a way that sends a clear message to our
users, and let those same users evaluate Hadoop separately.

Also the argument that we should not go 1.0 because we are changing a
lot of things is bogus.  We are always changing a lot of things.  If
1.0 means we will not make any major changes, then we will not get there
until we go into some kinds of maintenance mode where we deem the
majority of the work to have been done.  I hope I have retired before we
reach that state.

My perspective on what 1.0 means obviously comes from a developer inside
the project.  I would be interested in hearing from users and anyone
with a more marketing oriented perspective on what message 1.0 would
send to (potential) pig users.

Alan.

On Mar 2, 2011, at 6:31 PM, Dmitriy Ryaboy wrote:

> I am worried that the new optimization plan work has not had a  
> chance to
> settle in, and we are releasing a brand new parser for the language  
> in 0.9.
> Those are pretty significant changes, if the idea behind calling  
> something a
> "1.0" is stability, we may want to give them a release to mature a  
> bit. Of
> course we can just release 0.9x for a while until we feel this stuff  
> has
> been tested in a wide enough variety of installations / hadoop
> configurations / use cases.
>
> D
>
> On Wed, Mar 2, 2011 at 4:52 PM, Olga Natkovich <ol...@yahoo-inc.com>  
> wrote:
>
>> Pig Users and Developers,
>>
>> We are starting to plan the work after Pig 0.9. One thing we need  
>> to decide
>> is what name/number to give to the next release: Pig 0.10 or Pig 1.0.
>>
>> I believe that we are ready to declare 1.0. Here are my reasons:
>>
>> (1)     We are mature enough and produce good quality releases
>> (2)     Our interface no longer change in major ways
>> (3)     We have a growing user community and we want the newcomers  
>> to know
>> that our releases are stable
>> (4)     If the next release is 0.10 and we decide that we should  
>> switch on
>> the following release going from 0.10 to 1.0 will generate a lot of
>> confusion.
>>
>> I wanted to start this conversation and see what others think before
>> deciding if it is worth while to call a vote.
>>
>> Olga
>>

Reply via email to