Through my experiments with delayed rendering in Prawn, I have seen the
light, and know what the Prawn of the future will look like. The
problem is that tomorrow's perfect Prawn is getting in the way of
today's good Prawn. We need to fix that problem right away.
We have not had a gem release of Prawn since February, and we have not
even had a developer snapshot since early May. To the outside world, we
probably look like we're dying.
Inside here, we know that's not true. We've got a brand new Table API,
we've got inline styling and template support. We have been ironing out
bugs and these features are getting more and more stable. But my
experiments have been blocking all of this great progress from seeing
the light of day.
Open source must move forward or die. I choose for Prawn to move
forward, and while it hurts my personal pride, it means that delayed
rendering and the major restructuring I wanted to work on will need to
wait for Prawn 2.0.
From here on out, we need to focus on what we know we can get done in a
reasonable amount of time, and then begin to place all our efforts on
performance tuning, documentation, examples, and bug fixes.
Here is the new schedule I have in mind, core devs please comment on
whether it's acceptable to you:
- August 1:
Prawn 0.11 is released as a gem, with delayed rendering code ripped out.
- August 15:
Prawn 0.12 is released as a gem, including all major features planned
for 1.0. All work after this point will be on stabilizing APIs and doing
cleanup
- September 1st:
Prawn 1.0p-re1 is released. User API is going to be mostly stable from
here on out, only changing to deal with any last minute design flaws
found by testers. Extension API will still remain in flux a bit, but
will begin to stabilize as well.
- October 1st:
Prawn 1.0 released. User facing API will only have API breaking changes
between middle version number bumps (1.0 -> 1.1 -> 1.2) etc, and will be
kept to a minimum. Extension API will remain backwards compatible
across the entire 1.x line, unless there is some major unforeseen problem.
Sounds good to me.
Best,
Daniel
No. I don't want to release parallel forks of our own project. :)
-greg
Looks good to me.
-- James Healy <ji...@deefa.com> Tue, 27 Jul 2010 00:47:54 +1000
The schedule looks great. I know this was a difficult decision for you
to make -- thanks for putting aside the big ambitions, in pursuit of
making forward progress.
Brad
William Yeung
Remove it now. It makes it sound like it's officially supported by us,
and I don't want to cause confusion for our users.
If you want to redistribute Prawn yourself you will need to rename it
something else.
-greg
I told you specifically that I did not want prawn-edge in rotation
because I don't want to release snapshots of Prawn's bleeding edge as a
gem. It would be one thing if you disagreed, and the forked
appropriately, but instead you ignored that and took it upon yourself to
release something extremely misleading. You didn't update the gemspec
at all so it still lists all my credentials on the gem.
Public gem servers aren't there for your own pet version of Prawn to
live. Be respectful of your fellow community members and don't waste
that valuable namespace with this sort of thing.
If you *must* use rubygems.org for some reason, at the very least,
prefix the library with your name, and add a note in the gemspec
description that it's unofficial and why it exists in the first place.
-greg
Thanks for very quickly resolving this. My main concern was that since
projectname-edge is a very common *official* way of releasing edge gems,
that it would cause a lot of confusion. The way you're doing it now is
fine.
-greg
> Sorry to make you feel bad about this, but I was just trying to balance
> the need of the edge code some people have.
You either didn't read the schedule, or you are incredibly impatient.
All of this code that is currently on master, except for the things that
*will not* be in 1.0, will be released within the next 48 hours as an
official Prawn 0.11 release.
But here we are two days earlier with an unofficial gem because you felt
that the world was clamoring for it. I'm sorry, but there have been
over 21000 downloads of Prawn 0.8, and if this was really such a strong
demand, I think people would be beating down our doors for a release.
They are not.
The reason why they have not, is that they trust me as the maintainer of
this project to determine when Prawn is ready for widespread
distribution or not. The 11 downloads you state were almost certainly
by people who thought I actually released that gem, since you named it
in an official way and did not modify the author of the gem.
So the only thing you have contributed here is confusion.
-greg