This is for discussion around the topic of open sourcing Generative Objects, the open source license, the building of the community. But also : what is missing for open sourcing, and what level of documentation do we need
@reagent , here is the topic ! we can start the discussion here
I think the first criteria we should establish is how to define the kind of community around Generative Objects we would like to see form.
For example, some vendors open-source their “core” and make money by selling “enterprise” versions, support and/or other for-fee services. In those cases, the open-source tends to lag behind the “enterprise” in terms of new features (though, ideally, not by more than 3 months). This implies the vendor funding at least one (or even more, depending on the complexity of the open-source software being provided) developer. Community participation tends to be narrower in terms of upstream contributions than in terms of consumption. This is potentially subject to loss-leading tactics by future competitors who have other profitable products to survive on.
Similar is the open-source community where the main contributors are not working together to profit financially off of the project, but otherwise have similar demographics in terms of contributors/consumers.
Another example is the Linux kernel community – many, many contributors from within their target consumer base – though, never as many as actual consumers (though some of those consumers may actually consume indirectly through distributions, for example).
Do we have a firm idea of who we want to see the consumers of Generative Objects to be?
I would want to see the consumers of Generative Objects to be people and structures who are creating tools for building a new economy. Innovators and visionaries who are leading the way to re-invent our society in a decentralized way, focusing on the well being of humans and nature and the redistribution of wealth. This is why for instance I am very interesting with the Holochain technology and targeting Holochain as a platform for generated application.
That said, I don’t know / believe that the licensing model of Generative Objects could give such a direction, but more how we will lead the community around Generative Objects.
License wise, I was thinking of an A-GPL license, with free of use software as long as all contributions / evolutions to the GO platform are redistributed to the core. However, all generated applications from the GO platform don’t have to be A-GPL and can be distributed or kept private as the users want. With an exception : if the Meta approach is used to create another low code platform with GO, then this low code platform has to be A-GPL too. This way, we have redistribution of all the low code platforms that are done using GO. If the users want to keep their low code platform private, then they have to pay for a license.
The business model will also be to provide a SaaS version of GO, where users can just create an account and get a GO instance ready to use. With maybe a free version for those who are publishing everything open source. And paying for private projects. Like Github.
How do you feel about this ?
With respect to the consumers, I’m not confident I fully comprehend the makeup of the folks you would like to target.
Do you imagine these consumers would be:
- software developers who would provide solutions based on GenObj to other stakeholders in their organization or clientele?
- non-developers in an organization/community of interest who would develop solutions based on GenObj for use by their organization/community?
- Some combination of the two?
Thank you for asking clarification, I realize it is needed !
There are different scenarios :
Business users + Software developers (for the low code part) would use GO and its core meta model to create applications, for their organization and or customers. Just the same way they would use a low code platform like Mendix or Outsystems. In this case, the A-GPL license allow them to use for free GO (with optional support pack), or to use a SaaS instance of GO. If they would make changes to the GO platform, they have to do it open source and publish the changes in A-GPL too. However there is no license on the generated applications and they can do whatever they want with the generated applications and its source code, which is de-coupled from the low code platform GO.
Software developers could use GO to create specific low code platforms for their organization, using the Meta low code approach. This includes improving / evolving the core meta model and generation templates but allow create full new meta models and generation templates. In this case, they have to publish the specific low code platform open source in A-GPL, in which case they can do it for free. If they want to keep their specific low code platform private and not open source, they have to pay for a license to do so.
Business users can then use the specific low code platform created above to create applications, for their organization and or customers. There is no license on the generated applications and they can do whatever they want with the generated applications.
Is that more clear ? What do think of such a model ? nothing is fully decided yet, it is full open at the moment.
I really appreciate you taking the time to flesh these scenarios out more fully. It does help quite a bit.
In my perspective, a low-code platform should take significant direction as to features, UI/UX, etc. (though not necessarily how to implement those requests) from the folks who should be the primary users of such a platform – such as the business users mentioned in scenarios 1 and 3. I’d be very curious to understand what preference they might collectively hold with respect to licensing. My expectation is that they would care less about the implications related to modifying Generative Objects platform itself (something they are unlikely to do), but would care deeply about the licensing restrictions (if any) on the resulting generated applications.
With respect to software developers, I expect there to be significant differences from business users. For example, the software developers should care more about licensing of modifications to the low-code platform itself (such as in scenarios 1 and 2). They would be more concerned about implementation approaches, who owns the copyright of code they contribute back to the community, etc. I’m also curious as to what folks imagine the dominant perspective might be if/when (under scenario 2, for example) a developer/organization chooses to purchase a commercial license for the platform. I’m not very familiar with those situations myself, so I am agnostic myself.
Hi @walteralmeida – have you had a chance to reflect on my response? Do you have anything else to add from your point of view?