I agree that this is the most important thing in keeping the project moving
forward. I added a Roadmap page to the wiki
https://github.com/openpgpjs/openpgpjs/wiki/Roadmap I'd like others to take
a look/comment/edit.

I'd like to avoid this becoming a duplicate of our issues page but have a
handful of large things that we can tackle.

In my opinion, I think top priority things will be to

   - Documentation
   - Flush out existing issues dealing with some more packets/clients that
   we don't currently
   - Firefox support

I think some of the other things like significant refactoring will be a
stepping stone to things like UTF-8 better file support.

Thoughts?

Sean

On Mon, Jul 30, 2012 at 9:48 PM, Jim Klo <[email protected]> wrote:

>  Sean,
>
>  As far as delineating major versions, I'll leave that to you to wrestle
> with the core team. But I'd say, If there's no need to break things up
> right now into major versions, don't. Leaving yourself a way out to manage
> branches in the future is what I'm proposing. Using a single value just
> makes that tough and creates strange race conditions if you don't figure it
> out early.
>
>  My 2ยข? I think you're mostly targeting support for Chrome in 0.1, you
> might want to add support for both Chrome/Firefox, that seems to be a
> logical place for a more major revision, say a 0.2.  That way if there's
> some set of users that are using 0.1.x branches, but you found that to
> support FF in 0.2.x that forces a major api change, you can safely make
> that change and not effect 0.1.x users.  You can choose to stop support for
> some old branch, but you're agreeing not to change the underlying API to
> 0.1.x. But say some security flaw is found in code that effects both 0.1.x
> and 0.2.x, you'd want to patch both, but not force all users to upgrade to
> 0.2.x.
>
>  So take the versioning approach more as a mechanism for defining a
> roadmap.  You've started some of that here graphically:
> http://openpgpjs.github.com/
>
>  Maybe:
> Define v 1.0 as where you want a full set of features to be for JS and
> Chrome, until you get there it's a 0.x.x version, bug fixes and maint.
> would be 1.x.x.
> Define v 2.x, 3.x as supporting more engines/formats as you want.  You can
> always revise the future goal before you start.
>
>  All this will make you think about what are the full compliment of
> features you need for each version, which is a good thing.  Also if you
> define the roadmap of things to get done, on an open source project, you're
> likely to get more contributors to step up and say, I need that feature, so
> I build it and contribute it back. It also allows someone from the
> community to start building the future out before you start... say someone
> need's IE support, but it's not slated to start until v 4.x... that can
> live in that branch for an indeterminate amount of time until you decide to
> actually deal with it, but you have the code somewhere where it doesn't
> effect current versions in production.
>
>      *
>   Jim Klo
>  Senior Software Engineer
>  Center for Software Engineering
>  SRI International
>  *
>   *
>   t. @nsomnac
>  *
>
>  On Jul 30, 2012, at 6:19 PM, Sean Colyer wrote:
>
> I stupidly was not paying attention during part of my changes and was in a
> detached HEAD state and merged the pull request back in. Once I realized
> this, I reverted master back to the change it was at.
>
>  I've opened a new pull request that people can look at
> https://github.com/openpgpjs/openpgpjs/pull/50 that includes the
> additional commit I was originally just going to fold into master that is a
> bugfix for: https://github.com/seancolyer/gmail-crypt/issues/12
>
>  Jim -- I think that's a reasonable approach. Do we have any suggestions
> on how we might delineate what are deemed to be major versions? So far
> we've pretty much dodged versioning all together.
>
> Sean
>
> On Mon, Jul 30, 2012 at 9:00 PM, Jim Klo <[email protected]> wrote:
>
>> The problem introduced however is that you cannot delineate between
>> versions between significant changes in design..  say you have to patch all
>> released versions with security fix (say you have a 0.1, 0.2, and 0.3)...
>> by using only a datestamp you don't know which architectural fork the code
>> base belongs from version number alone.
>>
>>  I might suggest following a pattern that Node, Python, and several
>> others follow where you use: major.minor.rev  where OpenPGP.js v0.1.20120730
>>
>>  This way you can have several versioned 'forks' and can easily
>> distinguish, ie:  v0.2.20120730 from v0.1.20120730
>>
>>  - Jim
>>
>>    *
>>   Jim Klo
>>  Senior Software Engineer
>>  Center for Software Engineering
>>  SRI International
>>  *
>>   *
>>   t. @nsomnac
>>  *
>>
>>   On Jul 30, 2012, at 5:17 PM, Sean Colyer wrote:
>>
>>   I've made a pull request to change the way we do versioning for our
>> builds. Basically replacing the hardcoded "OpenPGP.js v0.1" with a date
>> like "OpenPGP.js 20120730".
>>
>>  I'm interested to see if others think this is a good idea, the project
>> has changed hugely since the original "0.1" and I think it makes a lot more
>> sense for us to have the version reflect which version of code is actually
>> running. However, please let me know if this doesn't seem like a good
>> approach?
>>
>>  https://github.com/openpgpjs/openpgpjs/pull/49
>>
>>  Sean
>>  _______________________________________________
>>
>> http://openpgpjs.org
>>
>>
>>
>> _______________________________________________
>>
>> http://openpgpjs.org
>>
>>
>  _______________________________________________
>
> http://openpgpjs.org
>
>
>
> _______________________________________________
>
> http://openpgpjs.org
>
>
_______________________________________________

http://openpgpjs.org

Reply via email to