A call to all (free)plugin developers. Open Source Community

Hi @mishav, @romanmg, @seanhoots, @wayne.bennett, @vlad, @stephanie, @AliFarahat, @copilot, @dambusmedia and past, present and future bubble plugin builders

In spite of recent events and recurring posts I’ve taken the initiative to kick-off what I hope can become an Open Source Community for Bubble plugin devs.

Why have you been mentioned in this post?

I’ve gone through the most used plugins that have been released publicly and for free under the MIT license and tried to match your Bubble contributor name with your name in the forum. If you are not on the list apologies but I was not able to match your name or I might have missed you.

Do I have to be a plugin builder to participate in this topic?

Not at all. Please contribute.

What are those events and recurring posts you mention?

I’m not going to go into details as I don’t want to start yet another conversation about them. But most of you that have been mentioned know what I’m referring to. Basically any topic created in this forum about the following topics: plugin ecosystem, plugin support and plugin pricing.

Why do I think this initiative is needed?

Right now Open Source plugin development and support takes a huge toll on individual effort. Unfortunately there is no community backing up those projects.

As a plugin developer you have to invest time and sometimes money to create a plugin and then even more time to provide support. I was in shock yesterday when one of you wrote that you received a call in the middle of class to fix one of your free plugins from a Bubble user.

I can also understand Bubble users feelings when something breaks and you get ugly calls from your paying clients. Even though these plugins are free not being able to provide support hurts Bubble and the ecosystem. That is why I can also understand why nobody would want to release for free more plugins!

I have a few private plugins and also custom code that I am holding back due to not having time to support them for others.

What solution am I proposing?

To create a Github organisation with a central repository with all those plugins that you would want to release to the community for improvements and support.

Why do I think it will improve the situation regarding Open Source plugins and Bubble?

With a central repository any plugin developer could push a new plugin and/or provide support and improvements to other plugins via pull requests to the repository, easing the workload on individual contributors.

Maybe a lot of us that are withholding plugins feel safer on releasing them free knowing that if one wants to take holidays, disappear from the map or just quit Bubble any other developer could catch the ball and continue.

This would also give some ease of mind to all those Bubble users that don’t want to install third party plugins.

What have I done so far?

I have created an Organisation in GitHub for Open Source projects. Right now it’s a very lonely place but I am hoping this idea fits well with you guys and you join me on this adventure.

Also I created a new user in Bubble with the same name(Bubble OS Community) to check how transferring plugins, pushing repos and syncing would work in a Github organisation context.

Why is it important to a have a new Bubble user. As far as I know the only user that can sync from Github is the owner of the plugin.

If this whole idea gets popular maybe we can go to @bubble and ask for more tools to manage OS projects.

Is this enough to improve the Open Source scene at Bubble?

Not at all.

On the technical side there are still some technical limitations that would need to be sorted with the help of Bubble team. Specifically the limitation when pushing and syncing to remote repos in Github. Right now from Bubble you can only push and sync to your personal repo. Even if you are member of a Github organisation you can’t push and sync to the organisation repo.

On the other side, if this idea has no traction I do not see why Bubble would devote resources to allow syncing to organisation repos.

Are there any caveats?

For sure.

I know some of you guys(specially those in the plugin business) use free plugins as showcase in order to cross sell commercial plugins.

Releasing it for community support and possibly transferring the plugin to another Bubble user may seem counterintuitive in the commercial aspect. It would be something to discuss further if all this moves forward.

What are the next steps?

That depends on you. Are you a Bubble end-user? Are you a developer? Are you both?

Are you a developer?

a) Do you like the idea?

  1. Like this post
    
  2. Comment why you like it
    
  3. Send me your Github email through PM so I can add you to the Github organisation.
    

b) If you don’t

  1.  Comment. Why not? Would you take another approach?
    

Are you an end user?

a) Do you like the idea?

  1. Like this post
    
  2. Comment why you like it.
    

b) If you don’t

  1. Comment. Why not? Would you take another approach?
    

Please keep it civil and try not to go off-topic. Specially with those recurring topics I mentioned before :wink:

25 Likes

Also mentioning @levon, @vladlarin, @ZeroqodeSupport, @exception-rambler, @louisadekoya, @codurly, @jarrad, @keith, @sudsy and @gaurav

The forum is limited to 10 mentions per post :wink:

I can’t mention more people. Probably considered spammy. But I’m missing vini_brito and some others.

2 Likes

Thanks for the mention @JonL but I’m afraid I wouldn’t know where to begin with GitHub, let alone with updating someone else’s code. I’m by no means a JS developer. I just cobbled together code from StackOverflow examples to make a few simple plugins that I felt could be useful to other Bubble devs. I’m flattered by the mention in such good company though.

This is a good initiative by the way. It could certainly work if enough of the more experienced plugin builders were to get on board. I suspect it may be too soon for the Bubble ecosystem at this stage, but the movement has to begin somewhere, right? I’ll certainly be watching this space and at the very least might be able to make suggestions along the lines you’ve outlined above.

5 Likes

Very nice call! I want to add to it for our joint consideration:

Not all of us are coders by trade, for example my background is in animal science. So that makes us not used to dealing with git like activities (pull requests, forks, etc) and I think that’s a barrier to be dealt with.

There are plenty of resources out there teaching the basics on contributing to open source through git, but that means time and effort spent on learning tangential stuff instead of investing that time and effort in our main tasks. This is important to be considered, so our expectations are aligned.

I learned JavaScript so I could make the plugin that I very much needed (still need it), so what drives me first is need, then since I’m a fan and user of open source software I decided to take it to a shareable state, which means having a good user interface and proper documentation. Plus I wanted to have a deeper control over web tech since I’m really invested in becoming a technology provider in my field, so learning JavaScript seemed to be the appropriate path for me.

Also, I recently had a small open source contribution experience because I wanted to use Hopscotch step by step tour to onboard my users and it didn’t had localization (translation) features, so I looked up the library used in the plugin and noticed that I could probably implement that feature, tested it and when it turned out ok I asked if the plugin owners could add my contribution, which they gently accepted. Had they not accepted I’d just use my private fork, but would miss possible updates from them and other Bubblers wouldn’t have access to that localization feature. Again my motivation was need and that thought of giving back.

On that experience, it would’ve been easier to me if I could’ve forked the plugin, and this only happens when the most recent version of the plugin is synced to github, which many plugin makers don’t do for plenty of fair reasons. So for a plugin to enter the community hub it needs to be synced. Then for it to take any effort from others, its functioning needs to be comprehensible, through comments and documentation.
Sometimes well written small code snippets are perfectly comprehensible, like the hopscotch plugin was, I instantly knew what was going on just by looking at it, but try reading PDF Conjurer’s code, that big spaghetti is unintelligible without the comments.

I’m sending my email, let’s try this! Let’s also enlist others, maybe there are others who would like to receive efforts into their plugins and would like to help with other people’s plugins.

3 Likes

Great to hear and very good points you wrote there.

Regarding quality of code and documentation we will probably have to set some guidelines between all the members as to what we accept into the repository.

In the end it is code that we will potentially maintain and use, therefore we will want to make our “job” as easy as possible.

1 Like

Sometimes a pull request to fix a bug is just about declaring a missing variable :wink:

Open source means open to everyone. In the end coders normally keep themselves in their area of comfort and learn in small increments.

So even if you just started implementing small plugins you already have some notions! I am not a JS developer by any means. I come from SAP world and ABAP was my thing.

So you are still welcome to join us!

1 Like

Thanks @JonL for starting this actionable call. Hopefully this doesn’t turn into one of those long plugin threads again.

a) Do you like the idea?
Yes

  1. Like this post
    Done. (that was easy)

  2. Comment why you like it
    Because we’ve had enough discussion and we all know what we want so it’s time to take action.
    There are many times I wish i could just get a pull request to a fix for a bug in one of my plugins.

  3. Send me your Github email through PM so I can add you to the Github organisation.
    I can do that but before that there are two issues that needs to be addressed. See below.

What is Bubble stance on this?
I know @Bubble has intentionally not interfered in most of this plugin discussion which i personally think is a good decision.
But now that we wan’t to move from discussion to action we need to know where they stand.
This is important because we’re going to need bubble to be on board for this to work.
For all we know, Bubble see the Plugin and Template market as one of their main revenue streams.
If this data in this post is true then out of the $2M revenue bubble generated in the past year about $350k was from plugin/templates (for those that are not aware bubble takes a percentage of plugin/template sales).
So the big question is, does Bubble want to have an Open Source community for plugin and templates which will potentially cut one of their revenue source?

Licencing
Lets face it, a lot of people on bubble are entrepreneurs who wants to make things and probably create the next Uber or AirBnB.
So what will be the licencing agreement for community created plugins that are going to be used in commercial products. Whats in it for plugin developers?
While i’m happy to join any community effort to create free plugins, i don’t think it is fair to developers to spend their time to create free plugins and provide support when others are just using it in their commercial products and probably making money off it.
So there might have to be some licencing agreement about such community created plugins used in commercial products.

Let me give you a real example that happened right here on this forum (I hope the individual involved doesn’t get offended by this).
Someone asked for help on this forum about a plugin he was creating. I provided some guidance but he kept coming back with more questions. Eventually he sent me a PM admitting that he’s not a programmer and this is his first time writing a plugin. After several back and forth i decided its better to write the code for him than trying to explain to him what he should do.
So I just sent him some code to just copy and paste.
It worked and he thanked me.
Following day I see a post about he publishing the plugin to the store and even thanked me in the post for helping him create his first plugin.
Fast forward few days after and i’m working on this project and I realized i actually need that plugin i helped this guy create so decided to go and use it.
To my surprised the guy was actually selling the plugin (its actually still being sold). I was like WTF.
I virtually wrote the plugin for you (about 90% of the code) and you decided to sell it and I have to pay to use it myself. So i ended up creating my own private one to use.

So yes we need Bubble to be on board, help us sync the code from github to the bubble editor (never got this to work, works the other way though) and come up with a fair licencing agreement.

10 Likes

Glad to see there is genuine interest in this initiative.

I will send an email to Bubble team to ask some questions about the licensing and github sync.

Regarding your two points this is my take on them:

Bubble stance on Open Source.

I believe they are(or at least were) promoters of Open Source. They even were(and hopefully still are) considering releasing Bubble in the future as Open Source software. I am assuming just the tool and not the SAAS part.

Bubble github profiles.



Licencing

Right now I believe Bubble enforces MIT license on the Open Source plugins. This means there is basically no restriction on the commercial use of it. Anyone can fork any plugin released under MIT license and start selling copies. But this is independent of this initiative as anyone can do that with any of the current plugins.

Some literature about making money from OS.

1 Like

I like the idea. I think the details will need to be worked through (transferring all plugins to one user might be a sticking point) but I’m on board, in theory. I do think Bubble will need to do some well overdue work on the plugin editor / git integration to properly support a git workflow.
My github username is @dambusm.

1 Like

Quick update: I got in touch with Bubble to ask them for guidance and support for the OS community. They have reserved some time during the week to meet and discuss about it.

2 Likes

I do understand your concern. But transfering to a single user in Bubble is potentially the only way to centralise syncing of changes with the repository and to avoid at the same time end-users having to redo work on their apps.

My biggest concern about this matter is if the plugin is not transferred, a hot fix is pulled to github and the owner in Bubble is not available temporary or indefinitely who will sync to Bubble?

Not ideal and hopefully Bubble provides more tools in the future to manage this. On this matter I have asked Bubble if there is room for improvement on the Github syncing feature.

In the meantime we could work out the details as to who will have access to this special user. We would also need to make sure that there is always someone with access to that user that can sync GitHub changes to the plugins in Bubble. I don’t know what Bubble terms say about multiple access to account but I will check.

To summarize. Even if there are no guidelines set yet I hope the cornerstone of all them is " in good faith" :slight_smile:

Worst case scenario the code is available for anyone to fork from Github.

The ideal I would think would be if we could use Github ‘Releases’, and Bubble would automatically sync plugin versioning with the release versions. It’s a bit of work on their end but not an awful lot, Github provide webhooks for exactly that sort of purpose. That way we can have any number of trusted members have write access to the repo, and we’d have a clear and public history of who released each release, and a guarantee that exactly what’s in the repo is what went into the release, which we wouldn’t have if we just had loads of people with access to a Bubble user.

That would be a good solution indeed. Hopefully they will be able to devote some resources to improve Bubble GitHub feature.

@himanshu.s @aditya.rajak
Truely Interesting stuff by @JonL

1 Like