I started intending to write a post about the best open-source low-code tools. Or at least the best free low-code tools. But I couldn’t find (almost) any. So, what I’m going to do is to share some random thoughts about why I think this is and its (unintended) consequences. And hope that you’ll join the discussion.
As a preliminary disclaimer, in short, low-code refer to the use of models and generation techniques to speed up the development process by helping to write “less code”. To me, low-code is a style of model-driven engineering, but to avoid a terminology war, I was looking for tools that were self-defining as low-code. There are many tools that call themselves low-code so restricting the search with this filter should not be really a major issue (or so I thought!).
So the question is why among so many self-proclaimed low-code tools we don’t really see any open source one (nor even a free one) standing out?. Clearly, many modeling tools are based on third-party open-source tooling, and there is at least part of the modeling community that strongly believes open source is the way to go. And we do have some open source UML tools and open source code-generators / executable modeling tools though it’s also true that I don’t think any of them are a clear leader in their field. But a search for open source low-code tools gives barely any result. We have some specialized tools such as Teleporthq (mostly focused on the front-end generation part), Budibase (a more classical data-focused app builder), NodeRed (for event-driven applications), Xatkit (conversational AI builder) and Generative Objects (that now it’s more of meta low-code tool, i.e. a tool to create your own low-code tool) but not really expressive tools covering all the components required for the full stack.
IMHO, a key reason is that many open source tools suffer from the well-known sustainability problem. They don’t have time to worry about marketing trends. They have other things to worry about, so they didn’t put the time to rebrand themselves as low-code tools. And this is an issue. Not for me as I know how to find the tools I need no matter how they refer to themselves. But for a larger user base that it’s getting to know modeling via the low-code fad and that therefore will only try to find low-code tools. These people will miss these great open-source tools and assume that no good open source low-code tools exist. It was difficult enough to understand the variety of MD* acronyms and we’re now again confusing and fragmenting our potential users.
I also wonder how big is the market for open source low-code tools. Large companies can afford proprietary solutions (and will most likely prefer them, as they require support). And I have the feeling that Indie hackers / solopreneurs split into people with no programming skills at all (which then would go for no-code tools instead of low-code ones) and tech people (that will go for a traditional “all-in” programming approach). Maybe the opportunity for a classical commercial open source model is not there for low-code?
And even if we take a broader look and include in our search all kinds of model-driven development and code-generator tools, my feeling is that no open source one clearly stands out. Every semester my colleagues have some internal discussions to decide what UML tool to use for teaching. And every time we start a new research project we wonder what tool should we base our new developments on. We always gravitate towards Eclipse and end-up reusing some Eclipse tools but also reinventing the wheel many times. I don’t see any great model-driven solution (including expressive modeling and code-generator components for both the front-end and back-end layers) that can be easily extended with new generators or modeling sublanguages. Again, there are many great tools covering some parts of this wish list but sometimes making them work together is more difficult to reimplement those same components again and again.
Enough ranting for today. It’s your turn. What do you think? Do you know any free or open-source low-code tool that you like? Why do you think there are no more options out there?
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
I recently stumbled upon https://flowforge.com/ and https://nodered.org/ . I have no experience with these tools but at least they advertise themselves as low-code.
Thanks! I’m adding them to the list
Jordi what about Camunda
Thanks, I’ll add it as an example of a process modeling tool (still, not THE complete tool I’m hoping for!)
In the NoCode France community (where talks about low-code are also present),
https://www.appsmith.com/ is sometimes mentioned (while it doesn’t brand itself as low-code / no-code).
It’s more Open Core than Open Source, which is the Open Source model for editor that I seem to encounter the most.
Another one which markets itself a lot on the French LC/NC LinkedIn community is https://www.convertigo.com/ (same model with an Open Core).
An finally, if we go toward workflow modelling (as I see Camunda is mentioned), I’ll add https://n8n.io/ which has a Fair Code licensing approach.
Thanks Thomas. From your list I was only aware of convertigo. As I point out in the post the terminology is an issue when looking for the right tool!
As I already mentioned in the corresponding LinkedIn thread:
BonitaSoft BPM is a free open source software classified as low/no code by Gartner/Forrester.
But indeed the only one I am aware of.
While the benefits of open source ate not in discussion, there are several open-source models that might induce different impacts on the intrinsic characteristics of the developed tools. For instance, both EMF and MPS are open source; the former is community-driven the latter is a project with a strong orchestration by JetBrains, this makes a big difference in many respects. For instance, when introducing metamodeling in my MDE course, using MPS is more effective as the students focus on the problem, whereas the accidental complexity of EMF shifts the attention to non-relevant details. Such difference is IMO given by the fact that having too many people deciding how the tools should be organized affects its general coherence (too many different ways of doing the same task, think of metamodeling).
You mentioned open-source sustainability, which is key. However, there is one aspect that makes low-code successful (whatever it means) at this moment of time and as far I can see it is often neglected. Low-code effectiveness is often due to a core set of technologies that finally became mature. IMO most of the low-code success is due to the fact that these are zero-setup systems deployed on cloud platforms, whereas the traditional modeling platforms are having some difficulty in migrating on the cloud. Add on this the UIX quality of the commercial tools and how this is related to the accidental complexity of certain tools. Said that users are under the Sword of Damocles of private startups that might close overnight, a problem that likely only open source can successfully solve.
Another point that you stressed in your post, is which tool to use when teaching or starting a new project. Such uncertainty is due to the fact that none of the existing tools are fully satisfactory. In teaching, it is very time-consuming to show the students how to install and correctly configure all the needed components. Sometimes we need to install more than one Eclipse instance because of the different tooling chains that we would like to use. In this respect, using MPS is interesting, it makes immediately evident to the students the difference between the abstract and concrete syntax, why metamodel constraints are important, and so on. Always related to teaching modeling (and also for the sake of being masochistic) we started the JJodel project (here an example that can be easily shared with students, https://damianonaraku.github.io/jjodel/dist/jjodel/?example=aircraft2021, this is the old version of the tool, soon a new version should be out), a web-based modeling platform that allows metamodeling and positional/geometric editors (in contrast with the topological syntaxes supported by Sirius).
Finally, I do not know any open source low-code platform. I do intensively use notion.so since 2 years on a free plan, that is enough for doing pretty complex things. I am also using integromat on an academic plan, the combination notion + integromat is * very, very * powerful. To this end I woudl like to add a last remark: when using Integromat for a complex syncronization between notion and office365 for instance, the complexity of the integration processes requires semaphoric techniques that is completely out of the reach of the so-called citizen developer (or modeler) despite low-code or no-code.
Thanks a lot for all your insights! And I share your pain with teaching modeling. Even if I don’t teach anymore, I had similar issues, especially with the accidental complexity of EMF, eg. https://modeling-languages.com/failed-convince-students-benefits-code-generation/
Hello Jordi !
Thank you for this article.
Yes, it is very hard to find open source low code tools. My 1 cent at this is that creating a full fledged low code platform is a … TREMENDOUS work ! We are not talking of creating a very specific open source component with clear boundaries, but a full platform that encompasses absolutely all the aspects of software development !
So creating such a platform is requiring a huge investment in time and money, so I guess that the ones who succeed are actually VC funded.
I somehow managed to create a full platform with no private funding, Generative Objects. However it was a 12 years project with a team up to 8 people at times. And I believe that the reason I succeeded in this, is thanks to the META Low code approach, as Generative Objects is reflective and self-modelled and generated, allowing us to leverage the power of low code to create the low code platform itself !!
Now I am back to be alone on the project, having decided almost 3 years ago to let go of my team and work at open sourcing Generative Objects. In the mean time, I have made the META low code approach a reality, making it available to end users of the platform.
That said, being alone is …. pretty lonely for so much work to be done !! Therefore I would love to find developers to join me on finalizing the open sourcing of Generative Objects !!
I believe that the Meta low code approach is of paramount importance, as it makes of Generative Objects a full fledged model driven environment, allowing developer to craft their own low code platform, targeting any technology or application Family, that then can be used by non-developers. I have not seen anything close to that on the market….
So for the readers : contact me if you want to support and help and be part of the project !!
I hope still to have the public open sourcing happening this year !!!
Looking forward to your release! (as you’ve seen, there is some people waiting for it as well!)
Yes Jordi, I can’t wait ! I would also be happy to write an article on Meta low code for your blog, and what it is all about. If that feels of interest to you and your audience.
You can also check this interview I did around Meta low code and decentralized application development:
https://www.youtube.com/watch?v=6ZiUekVAg3A
Although I still need to be more clear on explaining Meta low code, working on this !
Some days ago I checked this web page. https://research.aimultiple.com/open-source-low-code/ Maybe one of them is a real open source LCDP. I had no time to check them though
Thanks Luca. I don’t think I checked this particular page (though I see WordPress on the list; I’m a WordPress fun and you can indeed create a lot of things with it but I wouldn’t call it low-code 🙂 ). I did check other lists and they were using both the terms low-code and open-source in a very “generous” manner
Hi Jordi,
Interesting subject and very relevant.
Currently I am working on an open source addon for Sparx in which you can create a logical datamodel and transfer it to a form and content management system. See http://wpp.interactory.nl//ideaen.aspx At the bottom there is a video about the simulator
Regards
Bert
BridgePoint xtUML is FOSS. Not sure how it is classified under the no/low-code designation, but certainly a great way to automatically generate code from analysis models
Agree on the FOSS part. As you probably remember, we have covered xtuml in the past (e.g. see this post ). But as I mention in the post I restricted myself to tools that defined themselves as low-code, which is not the case of xtuml.
Hi Lee,
technically I agree. Technically xtUML, beside other MDA tools or even DSLs are the same as low code tools.
But no/low code IMHO is mainly about hyping companies paying to Gartner/Forrester/… to be classified low/no-code.
I read many Gartner/Forrester/… analyses. All these analyses were based on a at most 2h questionare. The rating depends on the performance of the saledroids.
I think that some proprietary software focused organisations, go out of their way to invent/foster a new marketable ‘term’ for commercial tools they now have – in this case ‘Low-Code’ tools – for an existing field of research that has produced Open Source tools in earlier times – such as Model Driven tools. This new terminology either: intersects, or is a subset, or is a superset – descriptor, of those other earlier tools.
When/if Open Source tool makers then bend their terminology to that used by the commercial vendors, it thereafter also can leave the impression that the commercial vendors were the original innovators (of the tool ‘category’, not just the new ‘term’ plus a new tool or two).
But in a way, they are in the sense that they took advantage of several technologies that in the meanwhile became commonplace (eg cloud, ML-based recommendation systems, advanced UIX, etc) minimizing the accidental complexity. We cannot say the same for many traditional modeling tools. As someone said, there may be reasons that explain such a scenario but then at the end of the day these are the problems that are preventing such tools from being more “democratic”.
What is the origin of low/no-code?
I cannot definitely state, but nevertheless my current opinion on that topic.
The first off-the-shelf “low/no-code” suite I personally used is OptimalJ by Compuware’s Amsterdam office.
Before I myself programmed AndroMDA caspules. Beside that together with a workmate I realized XSLT transformations to generate Java Servlets out of XSDs.
But all that aside IMHO Plankalkül [https://en.wikipedia.org/wiki/Plankalk%C3%BCl] developed 1942 to 1945 by Konrad Zuse is the origin.
/Carsten
ObjectQuest was an early forerunner form the 1990s. The term was not yet coined but it came close to executable UML – it was absolutely revolutionary and magic for the time. It influenced me a lot.
They failed in marketing it as development tool. Renamed the company to Ivara and succeeded by buidling software for maintenance management for use by maintenance people in any field.
Bentley Software acquired Ivara in 2012. The knew what the bought back than: https://www.automation.com/en-us/articles/2012-2/bentley-acquires-apm-provider-ivara
The continued success of Bentley Software is based on an executable UML – improved stealthily over the years: https://www.bentley.com/
I am the founder of Splicer.io, and I have been working on this problem for years. AFAIK, we have the only low code solution that runs on open source, Spring Boot stacks. Hence, we offer a low-code upgrade to Spring Boot, which is probably the most common open source, enterprise stack used by corporations for custom development. By adding a novel design layer, Splicer unlocks dramatically faster development efficiencies against corporate data, without requiring entirely new platforms. We call this new MDD design layer a “meta model”.
Creating a low code upgrade for enterprises was very complicated and I could drone on about this ad nauseum. First, it needs to support relational data. This means the system needs tap into existing database schemas, which is very complicated subject matter. Second, it needs to be configured as microservices with support for native mobile apps as the lowest-common-denominator. Finally, it requires devops configuration via docker etc to run in cloud provider like AWS ECS. These are just a few of the issues involved.
Right now, we are still working on defining a free version of our code generators and would be happy to discuss if you have an application in mind. But the good news in all of this is twofold: because we don’t require an entirely new, proprietary platform to work our magic, we are the first to eliminate ongoing runtime and/or per-user license fees. Secondly, we generate and deliver the full source code to our customers. This is critical because it allows for infinite customization without dependance on 3rd party vendors.
More information on the subject is available here: http://blog.splicer.io/open-source-low-code-for-relational-data/
Regards,
Aaron
Happen to know the history of Roland Hörmann and his VisionX brain child.
https://visionx.sibvisions.com/
It comes close to what you are searching for and it’s definitely not simplistic.
I consider it mature now and the customer base is impressive.
In order for the open source community to rival VisionX or similar products (if they exist) you have to put similar development effort into a long and uncertain journey.
To start with the obvious difficulties. A polished technology agnostic widget (to use the old and time tested term) abstraction is a damned difficult job. You need a polished, pixel perfect (P3) widget set of at least ~300 widgets.
You need perfect, fluid, scalable non-simplistic widget orchestration. It’s damned hard. Conceptually it’s easy – do the event handling, do the data binding/shuffling – it’s all the same for all the different UI frameworks for all the different apps that have been built and will be built. It’s boring, expensive, frustrating work.
A P3 abstracted widget set/model across all platforms does not exist. Sort of the holy grail of SW development.
Where to start? Start with a P3 certified AWS aka abstracted widget set modeling language. Start with different compilers to translate AWS into different widget framework code.
Start with configurable/themed/cultured visualizations of an P3-AWS model across different platforms.
It’s a moon shot project for the open source community.
Roland Hörmann/VisionX somehow and over the years mastered the P3-AWS.
It’s all fun now with increasingly faster returns -they are beyond self-reinforcing point avalanche.
Reaching point avalanche is a matter of a decade at least. If anyone thinks it can be done faster let me know.
Think outside the box. Feed a sufficiently powerful AI with the source code of all the widget sets that exist. Train it to detect the essence of widget orchestration and generate the modelling language.