Going Open Source

It is my great pleasure to announce that VersionPress goes fully Open Source today. While the software itself has been GPL’d since the first releases, we’ve been developing it privately and Early Access was a paid-for program. All of that goes away today.

VersionPress’ new home is now on GitHub are we’re not just making it freely available there, VersionPress will truly be developed out in the open and run as an open source project, hopefully with the help of a broader WordPress community over time. We encourage you to star / watch the repo and join us in the mission to turn WordPress into a fully versioned platform.

Oh, and “by the way”, we’re also releasing VersionPress 3.0-beta today.

This is a big moment in the project’s history so let me share a bit of a background story.

The early days

VersionPress started as an internal research project between me and Jan a couple of years back. We were solving our own workflow issue where we couldn’t easily synchronize WordPress sites between environments because database merging was virtually impossible. We decided to use Git (not SVN) as an internal engine of what we started calling VersionPress, and the results were pretty amazing. This tool seemed to be solving many of the hard problems of WordPress and people loved it whenever I demoed it, or even briefly described the idea. The feedback was so encouraging that we simply had to try to turn it into something real.

In 2014, I quit my day job and started working on VersionPress full-time, together with Jan. Funding a venture like this is not easy – VersionPress is, technically, a very hard problem that takes a lot of effort, time and resources to crack, and even if we could be a premium plugin, it never really felt right. Do you pay for Git after all?

Still, as a temporary solution, we decided to run an Early Access Program which was sort of a continuous crowdfunding, and we continued developing VersionPress in a closed team. This was a practical decision – it provided at least some revenue (thank you, EAP members!) and allowed us to iterate quickly as the team was collocated and we could discuss the hard technical things face to face.

Transitioning to OSS

Towards the end of 2015, we started feeling it was the right time to convert the project to a fully open-sourced one. The project started to be in a good shape – had a clear direction set, most of the technical groundwork was laid, we moved to GitHub, etc. Also, while we had most of the WordPress core covered pretty well, there was still this huge ecosystem of WordPress plugins and themes that could cause trouble to VersionPress in million different ways. In the long run, the project had to turn into OSS should it be successful, and, fortunately, we met investors who understood this and supported our vision.

So we started preparing. If you’re curious what needed to be done, it was roughly this:

  • We moved from Bitbucket + JIRA to GitHub. The systems don’t map 1:1 so there was quite a bit of work around it.
  • The old issues were translated to English.
  • The code was reviewed by Daniel Bachhuber of WP-CLI and REST API fame, whom we deeply respect.
  • We transferred our old wiki documents and other assets to GitHub so that everything is public and searchable.
  • The website was updated, etc.

Now, we’re finally ready.

Repo goes public!

Open-source VersionPress

This day starts a new era for VersionPress. Here are the main points about today’s release:

  • The project home is the versionpress/versionpress repo on GitHub. You can download VersionPress from releases on GitHub.
  • We have a Gitter room if you want to discuss anything. It’s like Slack, just tighter integrated with GitHub.
  • We’re encouraging community contributions. In the coming months, we’ll be solving many interesting challenges like integrations with 3rd party plugins etc. so please join if you can help with this.
  • VersionPress is not going to be in the wordpress.org plugin directory anytime soon. It stays in the “Early Access” phase where it works well in certain scenarios but there are still many incompatible plugins, themes and hosts. There’s no magic solution to this, unfortunately, and more and more plugins and scenarios will be supported over time.

We’re also discontinuing the Early Access Program today as it no longer has a point. I’d like to wholeheartedly thank to all of the hundreds of people who joined during the past year or so and supported us. I’ve had great conversations with many of you and you truly kept us going. Thank you!

VersionPress 3.0-beta

Because some of you will undoubtedly want to try VersionPress now, we prepared a beta release of the upcoming 3.0 which contains many, many improvements over the 5-month old 2.x release. There’ll be a separate blog post on the 3.x features but in the meantime, you can check out this pull request / release notes draft.

Final thoughts

VersionPress will be run very differently from now on. You can follow the progress on GitHub and we’ll also need your bright minds to solve some of the hard issues later this year, like how to integrate with complex plugins with custom DB structures. I think it will be a turning point for the project and will allow to eventually reach the goal of providing powerful, Git-like workflows on top of the WordPress platform.

Here’s to the future!

21 thoughts on “Going Open Source

  1. This is huge!

    My best wishes to the entire VP team. I’m dead sure, this move will speed up the development.

    1. I agree. Using the official repository is better if you want VersionPress to gain a really large userbase, with the integrated easy translation tools of WordPress.org. I’d prefer this as well.

      1. We want to reach a really large userbase one day, not break their sites today 🙂 Consider VersionPress a developer preview for now; we’re hard at work to make it reliable and wp-org-ready as soon as possible but that will still take some time.

  2. I’m only a part-time dev. I’m revisiting some old projects and working on some new ones. So, thank you for making sense of version control for WP. There’s a lot of conflicting info online about best practices for VC. I’m looking forward to digging into Versionpress! No more cowboy coding for me.

  3. Definitely following this project, i think I’ve read all doc in here, installed version 3 to help to test, but still missing some badic info like:

    – which git repo are the changes saved? Ni account fir bitbucket or GitHub requested during install, so i assume all is in the server of the prod itself?
    – if saved in the prid server, if server crash or (self-destruct!) everything is lost?
    – wp vp clone… On the same server only? How to clone from prod to local? And how to push local to prod?

    Lot of questions, after trying this new release but still feel I’m not using it at its full power.

    Thanks anyway that’s great project

    1. Hi Mickael, thanks for trying out VP 3.0 and for the kind words! To answer your questions:

      1. Git is a _distributed_ VCS so by default, it maintains the repo locally as you correctly pointed out. GitHub, Bitbucket or any other server is entirely optional (you’re not forced to send your data anywhere).
      2. You have to push your repo somewhere to make a backup of it, or just copy the .git folder. It’s really that simple.
      3. `wp vp clone` is local only for now. The underlying technology will allow remote scenarios in the future, and it’s very natural to do them, but for now it works locally only out of the box (you can still script remote scenarios if you know Git).

  4. Great job,!!! Thanks, All the best for the entire team of VP team.. Open source Vp it such an awesome work you have done. I am looking forward to it…

Leave a Reply

Your email address will not be published. Required fields are marked *

Some HTML tags are supported