Marten: Making Marten Open Source model sustainable

Created on 3 Dec 2019  路  4Comments  路  Source: JasperFx/marten

This Issue will group the general discussion and concrete ideas (issues) of how to make Marten Open Source model more sustainable.

Currently, we're doing all the stuff after hours, we don't have sponsors. As it wouldn't be the good case if our project would be hit by bus factor we'd like to make it more sustainable. We'd like to be able to spend more dedicated time on Marten to provide more complex features (see eg. ambitious plan for Event Store improvements in v4). It won't be possible without financial contributions.

We'd like to gather all the ideas and feedback both from the core team and especially from our users.

So everyone is welcome to comment, place ideas, discuss and make constructive criticisms.

Here you can find the currently discussed ideas:

  • [x] [Join .NET Foundation](https://github.com/JasperFx/marten/issues/1392)
  • [ ] [Setup Sponsorship plan](https://github.com/JasperFx/marten/issues/1393)
  • [x] [Add currently existing videos of Marten tutorials](https://github.com/JasperFx/marten/issues/1394)
  • [ ] [Create a page with links to the articles about Marten](https://github.com/JasperFx/marten/issues/1395)
  • [ ] [Create a page with links to other projects using Marten](https://github.com/JasperFx/marten/issues/1396)
  • [ ] [Create Marten Newsletter](https://github.com/JasperFx/marten/issues/1397)
  • [ ] [Create a page with recommendations from our users](https://github.com/JasperFx/marten/issues/1398)
  • [x] [Create a separate domain name for Marten](https://github.com/JasperFx/marten/issues/1399)
  • [ ] [Setup branded martend.io email addresses for the maintainers](https://github.com/JasperFx/marten/issues/1415)
  • [ ] [Add more quality documentation to drive adoption](https://github.com/JasperFx/marten/issues/1400)
  • [ ] [Rebrand Look&Feel of the Marten documentation ](https://github.com/JasperFx/marten/issues/1401)
project management

Most helpful comment

Before investing weeks and months of work. It would probably be wise to have a conversation around the vision of Marten as a project. A vision statement sets the tone and expectation for all community members.

Currently, the tag line on the site is.

Polyglot Persistence for .NET Systems using the Rock Solid PostgreSQL Database.

That tagline is weak-sauce. I know what it is, but not why.

  • What value does Marten bring to developers, teams, projects, and businesses?
  • Why is Marten critical to a modern .NET toolkit?
  • What problems can Marten solve better than any other solution?
  • What services can team members offer to expedite interested parties to success?
  • What does a commercial license get me as a user?

The goals stated by @oskardudycz are good goals, but it's not clear what they are in service to. I really suggest a call next week to do some brainstorming of what the maintainers of this project see as the future of Marten. This project is awesome, but it needs some marketing/promotion love. I have some free time right now to help :)

All 4 comments

I have no idea if this would match your community and their expectations, and it's certainly as much a philosophical choice as a practical one, but I'd at least keep a change to the license on the table as an option.

Specifically, I've become rather fond of a dual-licensing model that provides openly developed software under a permissive license for non-commercial use while placing licensing fees on the use of software for commercial purposes.

  • Notice I used the term "openly developed software" instead of "open source software" - that was intentional. Most dual-licensing models, and especially those that have a component of licensing fees (regardless of the condition that triggers the fee-based license), are not OSI or FSF approved. There are opinions as to whether "open source software" means "OSI approved" or is broader, but it's easier and cleaner to just adopt a new term for this type of software.
  • There are several ways to manage dual-licensing, but License Zero does a very good job of helping you get setup, providing licenses you can use that accommodate dual-licensing (you can also bring your own), and managing the e-commerce aspects of doing so - worth a look if you go down this path.

Another alternative that's somewhat related is Tidelift. The idea there is that companies can pay a single "subscription" fee that entitles them to support and other pre-defined obligations by maintainers and Tidelift distributes that to the projects the subscriber is leveraging using an equitable formula to determine how much each project gets from each subscriber. While they support the .NET ecosystem, it's not particularly vibrant (...yet - I guess that's where new projects like this one come in).

@daveaglick I can see dual-licensing works well for "infrastructure components", like databases (TimescaleDB is one such example), but I think this model is much less appropriate and realistic for a library. Marten has gained a lot of traction amongst .NET developers with a fondness for Postgres, but I think requiring a paid license for commericial use would likely do a lot of damage to adoption.

@cocowalla

I think requiring a paid license for commericial use would likely do a lot of damage to adoption

Totally agree, and one of the reasons I don't think commercial use licenses fit every (or even most?) projects.

That said, my own views on what constitutes _success_ in open source have been gradually changing. Conventional wisdom often tightly couples adoption with success, but I'm not so sure that's a good or useful metric anymore. It's particularly problematic for smaller open source projects because as the project gains traction and attracts more uses (yay success!), those users bring with them additional time burdens in the form of issues, chat messages, PR reviews, etc. That's great up to a point, but will continue to scale linearly (or even exponentially if the project gets some real traction) while the maintainers time doesn't scale well if at all. Sometimes if you're lucky you can add additional maintainers, but even that usually doesn't scale proportional to user growth of a hot project.

In that way, fee-based licensing actually helps a non-monetary goal. If you consider the side-effect of licensing fees acting as a limiting factor to growth in a positive light, that result could be viewed as a natural control over runaway adoption and the resulting time commitments it brings. And as more users find that the project warrants paying licensing fees, those fees help to offset the burden that additional growth causes. That's certainly an _unconventional_ perspective but one I've been tossing around.

Anyway, got more than a little philosophical there :). I suspect none of that is relevant to Marten in-particular, but just some food for thought.

Before investing weeks and months of work. It would probably be wise to have a conversation around the vision of Marten as a project. A vision statement sets the tone and expectation for all community members.

Currently, the tag line on the site is.

Polyglot Persistence for .NET Systems using the Rock Solid PostgreSQL Database.

That tagline is weak-sauce. I know what it is, but not why.

  • What value does Marten bring to developers, teams, projects, and businesses?
  • Why is Marten critical to a modern .NET toolkit?
  • What problems can Marten solve better than any other solution?
  • What services can team members offer to expedite interested parties to success?
  • What does a commercial license get me as a user?

The goals stated by @oskardudycz are good goals, but it's not clear what they are in service to. I really suggest a call next week to do some brainstorming of what the maintainers of this project see as the future of Marten. This project is awesome, but it needs some marketing/promotion love. I have some free time right now to help :)

Was this page helpful?
0 / 5 - 0 ratings