Consideration of end user impact is a great point, and perhaps the most
important consideration.  In the case of DataFu, others have brought up
that the rename would be a backwards-incompatible change that breaks all
existing client scripts that use DataFu, and going forward such a change
would cause extra low-value typing in a scripting language that's targeted
to serving non-programmers.  I think this makes a compelling argument for
preserving the existing names in DataFu.  For another project where the
package names are entirely an implementation detail and not user-facing,
doing the rename is not likely to cause impact.

Thanks for bringing up the topic, Matt.

--Chris Nauroth




On 8/10/15, 2:22 AM, "Stian Soiland-Reyes" <st...@apache.org> wrote:

>I think you should consider the impact and potential gain on a
>per-project basis, and agree this within the podling. I don't think we
>can prescribe one way or the other for every project.
>
>
>Changing the package name can for Java developers be a bit of an
>identity thing and help to level the playing field if a strong
>commercial actor is still involved. Removing
>com.proprietarycompany.projectname can be more important than removing
>a neutral org.projectname.
>
>
>A more user-fronting project (e.g. a GUI or self-contained server)
>face less impact on renaming than a project with many compile-bindings
>outside the project (e.g. Hadoop).
>
>
>For the Taverna incubator (which can't be reliably placed on such an
>axis with a GUI+server and many external plugins), we decided that as
>we were moving to Apache at the same time as we were getting ready for
>3.0 with a different plugin system anyway, then this was a good time
>(and perhaps the only time) to do package rename.
>
>But for our project, which had numerous git repositories, Maven
>modules and OSGi configurations (and was due some refactoring), a Java
>package rename and restructuring was a bit more work than a quick sed
>and folder move, and left the codebase in non-compilable flux for
>several months and took away focus from community building.
>
>On the other hand, this was a good exercise for engaging the whole of
>the PPMC in taking responsibility for all of the code base - for our
>project we had a history of divide-and-conquer responsibilities, but
>once we had agreed on the new structure, then several committers could
>help in getting the code back in shape. Deciding on the code base
>structure "by committee" in the open rather than through a visionary
>"dictatorship" is quite a bit of overhead, but also helps build a
>common understanding and buy-in of how the project should be.
>
>For an early project like the Commons RDF incubator, package rename
>was done in a day and had minimal impact. Here we didn't do any
>structural changes except splitting out a new module. I think keeping
>the change lightweight is the best option if possible.
>
>As Andy pointed out, for a mature project like Jena (with third-party
>bindings) you might consider to hold off package rename until the next
>major release, which could be years down the line. You can still use
>the org.apache.* packages for new stuff, and if you have a clear
>api/impl split, also gradually move impl modules under org.apache.
>
>
>
>
>On 10 August 2015 at 02:28, Roman Shaposhnik <ro...@shaposhnik.org> wrote:
>> Thank you all for the feedback. This is super helpful!
>>
>> One question that I still have is this: do we have a bias
>> for suggesting package rename or any package name
>> can remain in place?
>>
>> Thanks,
>> Roman.
>>
>> On Sat, Aug 8, 2015 at 2:25 AM, Andy Seaborne <a...@apache.org> wrote:
>>> Hi,
>>>
>>> Jena graduated 2012 with old namespaces under com.hp.hpl.jena, and some
>>> under org.openjena, with an intention to change at the first major
>>>release
>>> update.  As new packages came along, they went into org.apache.jena
>>>but the
>>> user facing packages remained where they were.
>>>
>>> We released Jena 3.0.0 last month, so 3 years. That major release was
>>> coupled to another incompatible change (RDF 1.1 semantics) so 3.x
>>> wasn't just to do the packages, package renaming waited until a
>>>convenient
>>> point.
>>>
>>> Our users have data with (RDF) namespaces under old names - we are not
>>> planning on changing that at all.  (A general issue for all linked
>>>data.)
>>>
>>> I don't see it as an issue for graduation if the project has
>>>considered the
>>> matter.
>>>
>>>         Andy
>>>
>>>
>>> On 07/08/15 23:16, Matthew Hayes wrote:
>>>>
>>>> Hi all,
>>>>
>>>> Roman Shaposhnik suggested I open a discussion on the following topic:
>>>>
>>>> For Apache DataFu, all of the Java classes are declared in a datafu.*
>>>> namespace.  This has been the naming convention since the DataFu
>>>>project
>>>> started in 2010.  Since DataFu became part of the Apache incubation
>>>> process, the topic has come up of moving all of the classes into a
>>>> org.apache.datafu.* namespace.  This was first discussed in January
>>>>2014
>>>> (see DATAFU-7) and most recently again in the past couple weeks.  The
>>>> consensus at the time last year was that it would be a huge pain for
>>>>users
>>>> and not worth the cost.  It would break any script out there currently
>>>> using DataFu.  Also Jakob Homan and Russell Journey pointed out that
>>>>this
>>>> is just a convention and not all Apache projects follow it.  Since we
>>>> would
>>>> like DataFu to graduate sometime soon it would be good to clarify
>>>>what the
>>>> requirements are on package naming conventions before we do a release.
>>>>
>>>> Thoughts?
>>>>
>>>> Thanks,
>>>> Matt
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
>>> For additional commands, e-mail: general-h...@incubator.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
>> For additional commands, e-mail: general-h...@incubator.apache.org
>>
>
>
>
>-- 
>Stian Soiland-Reyes
>Apache Taverna (incubating), Apache Commons RDF (incubating)
>http://orcid.org/0000-0001-9842-9718
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
>For additional commands, e-mail: general-h...@incubator.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to