Most of you have probably been following the debate on package renaming, and the associated creation of a separate .api package -- with bated breath I'm sure. It's time to get a consensus from the group about the direction to proceed.
I ask the group for three votes: ITEM 1. Immediate renaming of all packages from com.ecyrd.jspwiki to org.apache.jspwiki, so that we can move to release an early alpha Apache build. Details: This would cause all packages currently named com.ecyrd.jspwiki to be renamed to org.apache.jspwiki Recommendation: I vote +1 for this item, and recommend the same to the group. ITEM 2. Refactoring concrete classes (e.g., WikiEngine) into interfaces whenever possible, and supplementing them with factory interfaces if warranted (e.g., interface WikiEngineFactory). Details: For those of you who use Eclipse, this is similar to an "Extract interface" refactoring step, where concrete classes like WikiEngine are turned into interfaces that are meant to be stable. The concrete class WikiEngine would be renamed to something like DefaultWikiEngine. Recommendation: I vote +1 for this item, and recommend the same to the group. ITEM 3. Creation of the .api package/package tree, and creation of various types in this package/package tree (e.g., WikiEngine, WikiPage) for stable interfaces. Details: The org.apache.jspwiki.api package has been proposed by Janne (and partially implemented) as a dedicated package tree where stable interfaces would live, separate from the existing com.ecyrd.jspwiki and future org.apache.jspwiki package trees. See the debate at https://issues.apache.org/jira/browse/JSPWIKI-38 for details. This is essentially a retroactive vote: majority approval would commit us to this direction; majority disapproval would cause contents of the .api package to be reincorporated into the existing tree. Recommendation: I vote -1 (veto) for this item. I prefer the status quo, to keep stable interfaces in the existing package tree. Summary of my votes here: Item 1: +1 Item 2: +1 Item 3: -1
