On Feb 9, 2010, at 9:25 AM, Michael DeHaan wrote:
I've written an application, which aims to solve all of the missing
peaces
around puppet - http://theforeman.org
Ohad, as you've said "I've written an application, which aims to solve
all of the missing peaces around puppet". Obviously you've done a
lot of work here, but I need to communicate something from a community
perspective -- the proper place to fix missing pieces in Puppet is by
contributing to Puppet -- our vision is to have no such "missing
pieces". Hence things done outside of core tend to fragment the
userbase and make things harder to install/use/manage/maintain. The
future of this workflow tool is going to be Puppet's Dashboard.
Where there are barriers to doing this, we will remove them.
If folks have feature requests, please send them along, and let's work
on making Puppet core (and dashboard) strong so there are less
external dependencies to manage -- so they can install all easily in
the box, that we have linked bug tracking, linked releases, and a
united community.
Just to clarify this a bit:
Puppet never has been and never will be a complete solution, and it
will always require other tools. There are areas that Puppet should
do but doesn't, and we intend to expand it in those areas, but in
general, our goal is to make Puppet a focused tool with a specific
purview. I don't believe there can ever be a single tool that fills
all of the gaps, but clearly at least one person disagrees.
When it comes to those other tools, some of them are things that we've
been promising to implement for ages, and now that we have the
resources we're finally working on them. You can go back to 2006 and
find threads, started by me, about creating external node tools (e.g.,
nodify), and I added general support for them so anyone could create
and use one. However, I always maintained that I'd be building one at
the company, and I've discussed the conceptual tools with lots of
people, including Ohad, individually.
Probably my biggest disappointment in the last few years is that I
didn't have the bandwidth to develop the tools around Puppet that I
wanted to create and discussed at such length, such as a node tool (of
which there are many, including iClassify (abandoned), Foreman, and
our Dashboard) and a message bus (of which mcollective is a good
example).
Even in discussing those, I always wanted our tools to stand on their
own. If our node tool isn't the best node tool for you, then don't
use it - find something better, and we'll try to catch you on the next
upgrade. If Puppet isn't the best config mgmt tool but our node tool
is, then hey, that's great, too.
So, having tools like Foreman is great, especially since Ohad is
spending so much time maintaining it, and his development mentality
really gels well with a lot of other sysadmins.
However, it's quite a stretch to say that any tool solves all of the
missing pieces around Puppet. There are lots of things I want our
dashboard to do that neither it nor Foreman does, and there are things
Foreman does that I wouldn't recommend to my customers. Foreman is a
great tool for some set of people, and it's a great example of the
power of an open ecosystem. I *never* want to shut that ecosystem
down, and in fact, we're moving as quickly and thoroughly as possible
to a *more* open ecosystem.
As Michael said, there are also IP issues with our relying on
Foreman. There is a significant difference between a lone developer
producing an open source project and a commercial enterprise making
promises to customers about a project. One of the big drivers for my
creation of Puppet is that I found I couldn't keep promises I made to
customers because my goals didn't mesh with the goals of Cfengine's
maintainer.
Since the day I started Puppet, I have had a commercial company
backing it and funding its development. It's been my full time job
since March of 2005, and one of my prerequisites for it has always
been that I be able to make and keep promises to customers. The
problem with Foreman, for us, is that its IP is in a sufficient state
for Ohad's purposes but not for ours. That doesn't by any means
invalidate Ohad's effort, it just means that we can't build a business
on it. We're planning on producing commercial extensions to our
Dashboard, which requires very clear IP control, at least for GPL'd
software, but more importantly for me, I don't think it's a wise
business decision for my company to base its future plans on a tool
that someone else controls.
Beyond the IP issues, though, there are just plain differences in what
we want to build. It's quite possible that Ohad's vision of what this
tool should look like is more correct than my own, but I'm here to
build my own vision. I have a clear idea of what our dashboard should
look like, and that's what I intend to build, because I think that's
where the greatest opportunity is. The differences between the tools
is healthy and gives us both the opportunity to steal ideas from each
other, which is healthy and good for everyone. Our telling Ohad not
to work on Foreman would be just as bad as the community telling us
not to produce the Dashboard - there's not only room for competition,
it's very good.
That's one of my goals over the coming year -- to make Puppet even
easier to contribute to, and make it clear to folks how they may do
so.
External integrations are of course very important to us -- but the
out of the box Puppet experience will be as complete as we can make it
rather than fragmenting workarounds between various external tools.
This is a bit of a conflation - the Dashboard will be part of the out
of the box Puppet experience for our customers, but it won't be part
of everyone's ecosystem. Obviously, for us to provide the best story
to our customers and users, we're going to do what we can to do as
much as possible as cleanly and consistently as possible, but doing so
will never preclude anyone else telling the story their way, and each
individual piece - Puppet, Facter, Dashboard, and everything else --
will always be stand-alone entities.
--
You can't wait for inspiration. You have to go after it with a club.
-- Jack London
---------------------------------------------------------------------
Luke Kanies -|- http://reductivelabs.com -|- +1(615)594-8199
--
You received this message because you are subscribed to the Google Groups "Puppet
Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.