Currently there are a number of distributions in the wild of Apache Cordova, most notable is the origin of our Cordova source: PhoneGap.
Many of the original hackers on this mess of source all believe that forking is a feature. We want to encourage distributions that augment, enhance, and otherwise make good use of the effort we put in here. As such I'd like to put forward some goals (FOR DISCUSSION) we might have for downstream distributions: 1. easy to cut a dist (like, one command to do it) 2. straightforward to start using (like, one command to do it) 3. can be composed of only the bits you need/want (configurability of platforms, and core plugins pre-installed) 4. obvious what bits are the Cordova engine and what bits are not Some comments on each. 1. An easy to build dist is somewhat in place with our Coho tool. It will need work to fulfill the other goals. 2. Getting to Hello World is hard. Our CLI tooling is putting us on a good path to getting there. Ripple is another part of this story. 3. Composed of bits meaning: we only include a bridge in our src release and plugins are separated out completely (docs, tests, and all). Coho will need to be modified to work with this use case. 4. This is a branding exercise but can drastically impact how code gets authored. If a plugin is `core` and/or vanilla then I expect it to talk about Cordova and interact with Cordova plugin API surface. If a plugin is NOT core and/or NOT targeting general Cordova platforms: sure maybe it doesn't. Maybe a downstream distribution has additional hooks on top of Cordova: and thats ok if it does. But I think our stance should be that plugins that are targeting maximum reach should only interact w/ the Cordova API. ## Only my opinion I do not want to see any bs where we start copying variables eg: var phonegap = cordova; (Or worse doing a string replace!!) That could prove fatal to project long term health. That said, I obviously support and want to see the best downstream distributions possible. Many of them, ideally. That means working together to figure out the best ways to document and outline interacting with Cordova bits. Increasingly I could imagine the downstream saying things like: 'the cordova engine that powers X'. And maybe that is enough. * * * Please share your thoughts, feedback, ideas.