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.

Reply via email to