You all probably read the sad news, Jamis is stepping down as the
Capistrano and Net::SSH maintainer. Capistrano and the accompaning tools
are essential to many deployment setups and it would be sad to see
Capistrano die.
Mathias Meyer and I are quite familiar with the Capistrano code base (we
wrote Webistrano, Macistrano, and a couple of smaller extensions). We
can see ourselves taking over maintainership for Capistrano and Net::S*.
We already have some small extensions and patches that we could bring in
and would be happy to keep Capistrano alive.
If you are also interested in continuing the development of Capistrano,
feel free to post here or get in touch with us.
Jonathan
--
Jonathan Weiss
http://blog.innerewut.de
http://twitter.com/jweiss
> Hi All,
>
> I'm a little suspect of the Webistrano/Macistrano guys taking over
> development, as I feel particularly that Webistrano limits the
> capabilities of capistrano and limits it usefulness for non-rails
> projects.
>
> Whilst there's still a market for simple-one-push rails deploys,
> with accountability; But I would be hoping for some kind of
> reassurance that Web/Macistrano would remain separate projects, and
> would not affect capistrano in any way.
>
> I do feel that someone that knows the Capistrano internals should
> take over, I'd have volunteered, except my skills lay in using
> Capistrano, for complex deploys; not particularly in changing
> internals, and fixing bugs, and those sorts of things.
I can understand your concerns, but it is not our intention to take
Capistrano and replace it with a combination of Webistrano and
Macistrano. I'm fond of both, but I regularly use just Capistrano
myself, and work on lots of projects that use Capistrano in ways I
hadn't imagined before, and that's totally cool.
Capistrano will always be Capistrano, your one-stop deployment command
line tool, everything else is more like an ecosystem surrounding
Capistrano. We certainly have ideas where we'd like to take a
Capistrano 3, but it will not be a big union of a web gui and a
desktop tool. It will still be a neat command line tool called cap.
> Whoever takes it over should be prepared to start living in IRC, and
> start up a drive to get documentation written... and try and drive
> it as *the* way to handle deployment.
>
That's what we've been doing for the last years, not always in public,
but rest assured that that's what we're going for. As for IRC, I'm
fine with getting on it more often in the future.
> I'm looking forward to whatever happens with Capistrano, Jamis has
> left us with an exceptional bit of code, we owe it to him to make
> the right decision about where to take it next.
>
> I will be forking copies of the libraries on Github, to make some
> changes to the way cap logs out to the screen, some things that have
> come up from time to time on the mailing list, about problems with
> how, and where capistrano logs, as well as some stuff I want to do
> with the output to the screen (does that count as logging?)
>
> Before we all fork-off and make our own changes, I fear that there
> will be no go-to-guy for a 'right' version of capistrano that scares
> me a lot, as it raises the barrier to entry far higher than it needs
> to be... (will_paginate... Vs. mislavs_will_paginate anyone?)
>
That's exactly what we want as well, we won't push ourselves on the
community, for us it just made sense to take on the responsibilities
to be those guys, because we spend a lot of our time working with and
working on Capistrano.
Hope that cleared things up a bit. We obviously proposed our idea to
Jamis before we officially posted anything, and if we go forward with
this, there will still be the same website, the same gem repository
and the same Capistrano.
Cheers, Mathias
--
http://paperplanes.de
http://twitter.com/roidrage
I won't be adding anyone as collaborators on my github copy of
Capistrano. That wouldn't help at all with the gem release process,
anyway, which is all done via RubyForge. As I've mentioned elsewhere,
though, once a new version of cap is ready to go, and appears to have
community support, I'll gladly hand over the keys to the rubyforge
project so that gems may be released there.
I'll admit that this part of the transition feels sticky--there's a
danger if more than one team forks cap and both are successful, and both
want to release a new cap gem... I'm counting on that not happening,
though, given that there really wasn't a huge interest in hacking on
capistrano before.
- Jamis
The only reason people look to "/jamis/capistrano" as the canonical copy
is because that's what's been linked to in the past. As soon as another
repo because the "canonical" one (whatever that means), it becomes a
documentation issue. There's really nothing especially discoverable
about "/jamis/capistrano", and there are already a LOT of capistrano
forks on github, and it never really caused trouble before. :)
- Jamis
I don't think this will happen as the 'blessed' version will pretty fast
become known and linked.
Mathias and I thought about using the 'capistrano' github user as the
main repo. So future releases come from github.com/capistrano/capistrano
and github.com/capistrano/capistrano/net-ssh. Is using the Capistrano
name for this user on Github ok with you Jamis?
We were already contacted by a couple of people and we will try to
assemble their patches and our stuff there over the next couple of days.
I'm totally out of this game. :) Play by whatever rules you wish!
- Jamis
Rather than decide now which fork people should follow, why don't we
take a different approach? Those who are interested in providing gems
could make them available under their username on github. Users who
feel the need can choose a fork based on merit (and recommendations by
people they trust).
> It may well be that mattmatt-capistrano turns out to be the best fork
> for the most people. But rather than create capistrano-capistrano on
> github, why not let each fork compete on it's merits.
>
Because the result will be people continuously asking which fork to
use. I've seen it happen before, and I was in the position of
wondering what fork to use, it wasn't fun. I'm well aware of backwards
compatibility, and if there should be a Capistrano 3, I'm also aware
that it better not break many things in existing tasks.
While I'm all up for the forking fun on GitHub, I prefer a project
with a stable baseline that people can come back and commit back to.
While I don't imply that whatever I'm creating should be that
baseline, I still prefer a gem install capistrano over a gem install
mbailey-capistrano -s ...., since that's what other users will expect
to work, not everyone like spending their time looking through the
potential candidates on GitHub. Personally, I would neither want to
answer questions to problems with specific forks, nor would I want
users to try all kinds of forks until they find a decent one.
People (for now) should just use the latest stable release from Jamis.
How often do mature projects release anyway? In a few months we'll
know better who's really taking up the effort and should be able to
push another stable release.
--
Byron