Export Your Bubble App's Source Code

Continuing the discussion from An Update to Workload, Plus More Transparent Calculations

My original response to Josh about the need for code export.

Context on why ability to export source code is important (at least to me)

Starting this new thread to separate the discussion on code export from the new pricing structure. If the ability to export your Bubble app’s source code is essential to you and your business as you build/scale with Bubble, please leave a response with your thoughts.

  • How important is this to you?

  • Will the lack of ability to export your source code eventually force you to leave Bubble and rebuild elsewhere?

  • Do you have any stories about how the lack of control of your code has hurt or limited your business?

Hoping we hear something from @josh @emmanuel in this thread. Even if the answer is a permanent “no,” at least then we know where things stand and can make plans accordingly.

10 Likes

Definitely it will be much more powerful if we can export code💪

3 Likes

@rick4 It’s a good question. I think the market would look unfavorably on directly charging for the export. I think a better approach is the one I see platforms like Weweb taking, which is to require an annual commitment to an enterprise-level plan to gain the ability to export. This ensures no one abuses the export, and ultimately it’s the enterprise-level (or headed that direction) customer that actually needs the code export, not early-stage and hobbyist builders.

1 Like

Devils advocate here… I’m wondering if what you’d get as an export would be worth the pain.

Considering bubble had been around for ten years+ and tech, development has moved on so fast who would you even give it to to work on?

Even enterprise-level customers may misuse or abuse the feature

Requiring an annual commitment of enterprise-level plan will be costly and may not be feasible for all businesses, developers, individuals

What about opportunities for smaller businesses or individuals who have legitimate reasons for needing code export capabilities ?

1 Like

@arth.dks, congrats on breaking free. Extricating ourselves (if code export isn’t made available) will take much more effort due to our product’s complexity.

I expect us and many others will be following you though if Bubble sticks to their guns on this.

2 Likes

I second this, we had similar case where my client lost a multi-million contract because they ran into compliance issue and they needed the code and DB to be run locally on their server, and that was not available as an option with bubble and that sucked big time.

So few points about this:

  • You are investing your money and countless hours in building your app, you need to have peace of mind by knowing if certain situation come across you wouldn’t be stuck, few examples like business exist, to attract investors you need code-export it is very important, or like our above case where a Gov. client needed to use our tool locally on their servers.

  • I think it is necessary to offer that and I think the no-code alternatives are offering the code export as standard option now, and if bubble insist on not making this as an option, they will be behind the competition in business security and trust.

  • Simply put, “If you don’t own your code, you don’t own your app”.

  • Bubble can offer code export to team and above plans or for apps on annual plans.

6 Likes

Compared to what it will cost me to have a developer re-create my apps, paying a lump-sum amount to Bubble for a (usable) export would be downright economical. I started using Bubble when I knew export wasn’t an option (I thought that “bubble” was such a friendly sounding name there’s no way they’d hijack my apps with astronomical price increases). I would imagine adding that functionality for a fee would be reasonable.

3 Likes

It’s still just HTML, CSS, and JavaScript, it might not utilize as up-to-date libraries as would be ideal, but that is why you would refactor and update it. Also, it’s not like Bubble isn’t actively working to improve their product and performance. Another reason that very few companies would actually utilize the code export to fully leave Bubble is because of how nice it it to have Bubble constantly keeping you application functional and up to standard on the backed. If something breaks in the actual source code, that’s on Bubble to go and fix, not you. Ultimately code export is an insurance policy, not something many companies would actually use.

1 Like

@vascolucci 100% agree. #freeourcode

@rick4

I don’t disagree with you, but that’s not what Bubble’s competitors are doing, so it would undermine the benefit to Bubble (from a market competitiveness standpoint) of adding the code export functionality.

3 Likes

I believe Bubble would acquire more customers if exporting the code was a feature.

I run an agency, and I can 100% tell you that more clients will choose Bubble if this option was there. We get asked the question a LOT and have to say “no”. They just want that peace of mind to know that if they are limited later by this no-code platform in any way, they wouldn’t have to invest $$$ to rebuild everything from scratch.

The reality is that they’re extremely unlikely to ever leave Bubble, because they probably won’t need or want to. But many people end up choosing other platforms or full code because of this sticking point.

6 Likes

That’s the piece that I think the Bubble team is really not understanding about this. They’ve built a phenomenal product for building, managing, and scaling SaaS products, they don’t need to rely on locking people into their platform to retain customers. Companies naturally want to stay with Bubble for their applications, the need for code export is for the extensive intangible value of owning your code. It’s an insurance policy against the unexpected.

Allowing for source code export is going to attract 100x more customers to Bubble (particularly educated high-paying enterprise customers) than it will ever lose them.

4 Likes

Unfortunately, I don’t think this will ever be possible from a technical standpoint, based on old readings of Bubble’s underlying engine. Bubble isn’t so much code you’re creating, but an interpretation engine. You’re developing “instructions” for the Bubble engine to interpret on the fly and spawn your site live. If you want to export something, all they could ever do is either export your instructions back at you (which is pretty close to what they do today), or export the “interpreted” site, which would be kinda useless as all the backend functionality would be missing. I do think, however, exporting the underlying DB is quite achievable, and is already indirectly available to dedicated customers with a DB connection. They can extract the DDL and export rows to reconstitute the underlying DB at-will.

@stuart4 is essentially correct. Bubble doesn’t generate anything like a static site (like, say, Gatsby). It’s an entire full-stack system with its own unique database, server architecture, etc. There are front-end web components (your page layouts and stuff) and then the specific backend, plugin architecture, the front-end code (run.js, static.js, etc. — that’s Bubble), the backend environment, the components that serve the web page HTML, code sources, CSS, etc.

These don’t operate independently and neither are they environment agnostic (e.g., Bubble runs in AWS and wouldn’t be easily portable anywhere else).

When you’re putting together a workflow, Bubble doesn’t really translate that to some specific code and you’re not writing code, it’s just a recipe for a series of function calls that get made to stuff that’s mostly in run.js.

When one of those steps is a database operation like Search, Bubble makes a network request to its database and the result of this call isn’t purely the data in some simple format like JSON, the result is a JavaScript object with methods on it that is specific to the Bubble front and backends.

This is a long way of saying that the closest you could ever come to getting “your code” “out of” Bubble is already offered by Bubble. It’s called a dedicated instance.

Now, I know people are like, well, let me host that instance. But that’s just asking for a discount, right?

(Nothing wrong with asking for a discount BTW, but there’s no real further meaning to “exporting your code” from Bubble than the whole shebang hosted in a dedicated instance.)

6 Likes

This is sort of like the Droid v Apple conversation in broad context.

Great post @keith

1 Like

@keith @anon38627393 While I understand that you guys are probably correct from a technical standpoint, I think this is beside the point. These are technical hurdles, not reasons why it isn’t necessary.

Technical barriers don’t change any of the valuation or fund-raising issues, nor doesn’t it eliminate the fact that Bubble competes with other platforms in the market that offer source code export.

The market doesn’t care about technical hurdles. It cares about the reality of the dangers caused by not owning source code for your software product.

I may be grossly underestimating the difficulty of Bubble generating source code for an app. Perhaps they would need to build an entire system to convert the “instructions” into a portable HTML/CSS/JS package. That may be a challenge, an extremely difficult challenge even, but is it more challenging than losing market share due to not having it? Maybe, maybe not.

We’re not asking to be flown to Mars here. Generating source code for a Bubble app is 100% possible if the Bubble team wants to extend the resources to make it possible.

If the answer to “we want code export” from Bubble is “this isn’t possible,” then all that means is that Bubble doesn’t value adding this capability enough to justify the technical lift to create the necessary infrastructure to generate the code. That’s fine, but it doesn’t change the consequences that will be levied on them in churn and loss of market share as a result.

So the refined question here (assuming it is technically difficult) for @josh @emmanuel is: Does Bubble intend to dedicate the necessary resources to developing the ability to export a portable source code package for Bubble apps?

6 Likes

@josh gave a similar answer over here: An Update to Workload, Plus More Transparent Calculations - #447 by josh

I’m pretty sure 5 years from now, vendor lock-in will be a thing of the past in No Code.

The ability to export source code is already a requirement for many No Code Software Houses, and as other great No Code platforms arise with this feature, it will become the new normal.

Bubble will have to adapt. I hope they put a team working on this.

4 Likes

I’ve mentioned it many times. I do not need code export, what I need is to be able to use the bubble builder on my own instance. I want to be able to login to my aws, Azure or whatever and add a Bubble. instance to my account, spin it up… Import my website with the json exporter and pay my hourly/monthly license fee for bubble’s editor.

:slight_smile:

5 Likes

Can someone point me in the direction of the discussion about this tool? I’m not aware of this being a thing.

In theory, if you trained AI to interpret Bubble JSON exports, you could generate workable code in an automated manner.

2 Likes