The future of Vanilla Porter
When I reflect on my decade working on Vanilla, there are a handful of ideas that really stand out to me as having stood the test of time. Today, I wanna talk about just one of them: the Vanilla Porter. Todd came up with the idea to write to a generic intermediary format to simplify the import process. I rewrote our earliest importers to work this way, and we came up with a great open source utility for data portability. It's so good that even Discourse used it as a key step in their migration process for many years (I suspect they and others still do, tbh).
Here's what I've been thinking about:
- Vanilla Porter hasn't been released in 2 years (when I departed). It's pretty clear no one internally cares about it beyond its internal utility for ongoing migration work, and I do not have repo access to work on it.
- There's nothing that ties Vanilla Porter to the Vanilla project per se. It's just a great, standard way of approaching data portability between community products.
- It has zero test coverage and hasn't had any significant maintenance in over five years. It's a bit of a nightmare to release, tbh.
- Its readily available documentation / marketing is basically zero. I think it could be a lot bigger if that was a priority.
I'm planning to re-brand it as a standalone data portability tool, start doing overdue maintenance work, and set up a standalone website for it. I don't make any promises about the pace at which I'll do this work; it's just something I feel like tinkering with occasionally.
So why bother?
- I think data portability for communities is super important. As we often said in the early days at Vanilla: It's YOUR data.
- I want to eventually expand the tooling as a way to counteract the growing trend toward walled-garden communities from which you cannot easily retrieve your data.
- Data portability doesn't threaten any legitimate business model. It should be a common interest for all community providers that aren't trying to monopolize the industry.
- I'm heavily invested in the project already and think it could have a bright future. It's an "easy lift", relatively speaking, as an open source project for me to adopt.
If someone at Higher Logic wants to reach out to discuss how we could collaborate on this, my email is in my profile here, as ever. What I'd really like to do is split the existing repo off into its own indie GitHub org. Maybe they even have internal tooling for additional packages they could contribute. Who can say? In any case, I'm perfectly wiling to fork a personal project under the GPL2 and trudge along from where it is.
If anyone else is interested in working on this with me, let me know!
In the meantime, I've created Porter 2.6 RC1 to the best of my current ability as a courtesy. If no one reports issues in the next week or two, I'll do the official release in the addon directory, but that will likely be the end of my involvement with the existing release process.
I'll update y'all here when I make progress. Expect it to take a while.
Comments
I'm gonna go ahead and get started on this in the meantime.
Maybe they even have internal tooling for additional packages they could contribute. Who can say?
https://github.com/vanilla/porter/commit/71e785e091d7d5148c0641416f7b85326d071d14
10 months and 400 commits later, I have a working proof of concept. It can officially port Vanilla into a working Flarum installation in one step. Theoretically it can do any platform that Vanilla Porter supported (about 30 of them) and is fully extensible to easily add any other destination, but it needs more testing before I can crow about that.
It was about twice as much work as I anticipated to get this far, which figures.
After I run some more tests I'll get a pre-release build up for folks to help test. I anticipate a formal release in a bit over 2 months with whatever I have ready by then.
Hello, I just arrived here a few months ago, and yet I have already seen that the future of Vanilla as an open-source platform is very uncertain (which is a shame because the initial philosophy IMO was good).
Regardless, thanks to your comments and further research I have done, I have seen that the best alternative is Flarum. So, I just wanted to thank you for your work, dedication and dissemination.
Know that it has inspired me and has been of great use. Thank you so much for continuing to make this world (of OSS) a slightly better world. 😉
@pep_oliveras I really appreciate you taking the time to say that, thanks.
Good work Linc. Any utility to make a data migration work is not a trivial exercise. Cheers.