Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Mitchell, firstly, I love you. You're an amazing guy, and you're creating something of great value in the world. I really appreciate you.

OK, so now the constructive criticism: Can you explain the apparent obsession with bringing everything great into vagrant core? I know that core leverages the same plugin architecture that everything else does, but I just can't understand why you privilege "official" plugins above others. Not to mention the fact the it shifts the burden of maintainership onto core developers such as yourself.

(This criticism is coming from someone who in the past has spent a long time working with Drupal, and who has always been disappointed with how that community insists on pulling everything into core, under the guise of "shepherding". As I see it, those pieces then move more slowly and are less likely to see a large maintainer-base who take ownership.)

<3

EDIT: Holy jeez, Vagrant Cloud is awesome.



Hey Pat! HAHA. Thanks for all the compliments.

As for the criticism: spot on, I can see where this would irk you.

I want to first say that the "core" itself is still very slim: you could easily generate a Vagrant installation without a lot of these things. The standard Vagrant distribution, however, is getting more feature packed.

That may be a bit pedantic, so let's talk about the standard Vagrant distribution. It is getting larger, but the primary reason is because I think these features are important enough in the "Vagrant vision" to be available out of the box. Additionally, it shows a bigger promise that I care about the stability of those things.

The "support" issue is one I am very careful about. Luckily Vagrant core has a lot more committers and we have a few "lieutenants" that cover specific areas very well (for example Salt and Ansible provisioners).

As it stands, as the core distribution has grown, I haven't had to spend more time on issues and I still mostly handle the core code. This is largely in part to the fantastic community around Vagrant and the core team that is in place. If I see it shifting otherwise, I'd start to worry.


Still wary, but this is good enough for me. If you're not overburdened, then that's the main thing :) Thanks man


One more argument for a heavyweight core: Vagrant is perfect for delivering a configured environment to designers and less-experienced developers. But once you start tacking on plugin installation to an already burdensome process (download VirtualBox, download Vagrant, launch Terminal, find the directory, run vagrant up), you lose the 'vagrant up'-and-done quality.

As it stands, your options for plugin installation are:

1) Instruct your users to 'vagrant plugin install XXX' in your README. Hope that they get the right versions.

2) Use "bindler," a now-deprecated plugin manager for Vagrant. That's:'vagrant plugin install bindler', then 'vagrant bindler setup', and finally a 'vagrant plugin install' to auto-install the packages you specify in a JSON file.

Neither very attractive options.

If Vagrant could get support for a plugin manager in core, then I'm all for plugins. I have dreams of 'vagrant up' reading plugin requirements from your Vagrantfile and automatically installing them into that environment only. (@mitchellh? ;) But for now the monolithic core model seems to be working quite well.

--

Anyway, so much fun stuff in this release! Particularly psyched about box versioning and the rsync shared folders—two features I've hackily implemented myself in shell scripts on top of Vagrant 1.3 for work.


One advantage I can see for bringing more providers into the core is the cost of acceptance testing. As a developer of vagrant-libvirt I really hope to add both unit and acceptance tests in order to catch regressions. Some are caused by goofs on our part, and others are caused by changes in newer vagrant versions. Even if we had good acceptance tests, we wouldn't have a CI environment to run them in (we'd need either bare-metal or a VM with nested virtualization). I assume that Hashicorp has invested in such an environment for providers in the Vagrant core that they are commercially supporting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: