dotnet-foundation / projects

This repository is used for onboarding new projects
113 stars 31 forks source link

Marten #47

Closed oskardudycz closed 4 years ago

oskardudycz commented 4 years ago

1. General Information

Project Name: Marten

License: MIT

Contributor (Company, Organization or individual name(s)): Jeremy D. Miller, Babu Annamalai, Oskar Dudycz, Joona-Pekka Kokko

Existing OSS Project? (Yes/No): Yes

Source Code URL: https://github.com/JasperFx/marten

Project Homepage URL (if different): https://martendb.io

Project Transfer Signatories: Full legal name and email address required of the individual(s) with the authority to transfer or contribute the project to the .NET Foundation. Note that if you'd prefer not to include this in the public application, it can be submitted via e-mail to contact@dotnetfoundation.org (referencing this issue number).

Jeremy D. Miller jeremydmiller@yahoo.com Babu Annamalai babu.annamalai@gmail.com Oskar Dudycz oskar.dudycz@gmail.com Joona-Pekka Kokko jokokko@gmail.com

2. Description

Please provide a brief statement about your project in terms that are understandable to the target consumer of the library or project, i.e. an elevator pitch for the project:

Marten gives developers a multi-paradigm framework for modelling, storing and querying data on PostgreSQL. Making use of the battle hardened database engine, Marten transparently exposes the JSON(B) capabilities of PostgreSQL for managing objects and events alike, requiring no ceremony to enable friction-less development. Marten is your object (document) and event store, with bells and whistles attached, be it CRUD, Event Sourcing or anything between.

Please provide a 1 sentence (<140 character) summary of your to help users when searching the .NET Foundation projects Polyglot Persistence providing object (document) and event store Powered by .NET and PostgreSQL

3. Project Governance

Please complete this section about who will be maintaining the open source project and how it will run. Project Lead: (Who is the primary contact point for the community and the .NET Foundation when discussing governance of the project.)

Name: Jeremy D. Miller Email: jeremydmiller@yahoo.com
GitHub Profile URL: https://github.com/jeremydmiller

Committers:

Which individuals have commit / write access to the repository, what is their GitHub ID and who is their employer (if contributions are on behalf of an employer)

Jeremy D. Miller https://github.com/jeremydmiller

Babu Annamalai https://github.com/mysticmind

Oskar Dudycz https://github.com/oskardudycz

Joona-Pekka Kokko https://github.com/jokokko

Governance Model:

Please describe how new code changes are proposed to the project, how those changes are reviewed and how a decision is made to accept proposed changes. Also describe the process for identifying and appointing new committers.

Changes are proposed via GH issues. All issues are reviewed and labelled with the proper type and scope. Issues that have the estimated timeline are assigned to a proper milestone. Milestones reflect the package version based on the semantic versioning. Plans for the new releases are discussed publicly in the issues (see eg. https://github.com/JasperFx/marten/issues/1307 or https://github.com/JasperFx/marten/issues/1391). Quick surveys, questions, clarifications and in general contact with community is done in dedicated Gitter channel https://gitter.im/JasperFx/marten. Normally 2 approves from maintainers are needed to merge the Pull Request. New committers were appointed once by Jeremy based on the number and quality of commits, activity and helping the community. See more: https://jeremydmiller.com/2018/09/27/marten-3-0-is-released-and-introducing-the-new-core-team/

CLA

If already an OSS project, was a Contribution License Agreement in place for contributions accepted? How does the project check who has signed one?

No.

CLA Notification Alias Provide an email address that will receive CLA related notifications from the .NET Foundation CLA automation

Project Transfer Type

Projects may join the .NET Foundation in one of two ways and you should chat with your .NET Foundation contact to discuss the best mechanism for your project. You can either a) assign the copyright of the project's source code to the .NET Foundation or b) contribute the project source code to the .NET Foundation under an open source license. Assignment is the preferred approach, but licensing a project to the Foundation may be more appropriate for longer running open source projects that have not previously had a contribution license agreement and have accepted contributions from many different sources. a) Assignment b) Contribution

Contribution.

4. Repository Layout

_The .NET Foundation host guidance for new projects and details on recommended structure here: https://github.com/dotnet/home/tree/master/guidance

Note that the open source repository should be the master where changes are made by the core development team using the same PR process that is used for non-committer contributions.

Please define below any changes you would want to make to your repositories as part of the process of joining the .NET Foundation_

I don’t think any repository changes are required as part of this process.

5. PR Plan

Please summarize the public relations plan for the announcement when joining the foundation (and releasing as open source if appropriate). What is the main story we wish to promote, through what channels, what issues should we be aware of? For significant news events then please also work with your .NET Foundation contact to ensure a full PR plan is developed.

Currently we'll promote that through blog post, twitter announcement using twitter handle @marten_lib & updated website https://martendb.io. We also want to provide the newsletter and maybe more video tutorials. Contributors also speak about the Event Sourcing with .NET Core and Marten on the local meetups. We also plan to get some sponsorship plan (not clear as yet - https://github.com/JasperFx/marten/issues/1393).

6. Infrastructure Requirements

Please describe any infrastructure requirements for the project. For example, how will build servers be operated? Any web hosting or service hosting requirements? Do we need to set up SSL certificates or provide Authenticode Code Signing arrangement for releases?

Currently, we're using the Azure Pipelines and AppVeyor OSS plans and we're happy with that process. We are building our documentation using Storyteller (https://storyteller.github.io/documentation/docs/) hosted on GitHub pages and Netlify so we also don't need to change it as for now. We might need in the future SSL certificates or Authentication Code Signing.

7. Additional Notes

Please provide any additional information required or use this area for notes during the on boarding process. If this open source project has similarities with any other projects in this space then please detail them and why this project is different. If there are any potential issues that you feel the project might need help with early on then also state them here and discuss with your .NET Foundation Contact.

Marten is sometimes compared to Entity Framework. But Marten is not an ORM, it should be treated as the .NET Document and Event Store that's just backed with PostgreSQL. Our approach to using the PostgreSQL and its sophisticated JSON(B) features is unique in .NET space. It should be more compared to RavenDB rather than Entity Framework. We're working on the sustainability of our model (so getting sponsorship) to be able to work on the dedicated time and get more reliability in bigger Enterprise companies. Such help would be more than welcome from .NET Foundation.

clairernovotny commented 4 years ago

One question, so far, for you to consider. Are do you want to just have Marten join the .NET Foundation, or the whole JasperFx project?

It may simplify things to have Jasper as a whole join, especially since they're related and I share a common set of contributors/maintainers (I assume). This would be similar to ReactiveUI, which also has a few other projects like Splat, Refit, Punchclock, etc.

oskardudycz commented 4 years ago

@onovotny as for now we're applying only with Marten.

For the rest @jeremydmiller would need to answer. For sure they're related but they might be used by a bit different set of persons. Contributors might have some shared subset, but the "common denominator" is Jeremy. Me, @mysticmind and @jokokko are maintainers only in Marten.

@jeremydmiller, thoughts?

mysticmind commented 4 years ago

If multiple projects under JasperFx is going to cause issues with licensing/transfer of project to .NET Foundation with varying contributors/maintainers, we may have to look at moving the Marten repo under a separate project.

clairernovotny commented 4 years ago

It's not a matter of which org something is under, more like trying to cast the widest net around the logical notion of a "Project". It's completely up to you and @jeremydmiller

jeremydmiller commented 4 years ago

@mysticmind @oskardudycz @onovotny I don't know what I think about that offhand. Marten is by far and away the most active and best supported of all the other things under the JasperFx umbrella. I'm not opposed to moving the rest of JasperFx, but maybe Marten needs to just be its own thing.

Can we think on this one just a bit more?

clairernovotny commented 4 years ago

Yes, you can definitely think about it as long as you need. We need the project committee to evaluate things and then the board to approve. The board meets the third thursday of every month, so the next meeting is Feb 20.

ChrisSfanos commented 4 years ago

Hi everyone I'll be working on the back-end to handle onboarding and post-onboarding tasks.

Onboarding: 1) Sign the CLA via DocuSign - this will go out shortly 2) CLA onboading in GitHub - I'll handle this once the CLA is signed off and processed

ChrisSfanos commented 4 years ago

CLA is out for signing

ChrisSfanos commented 4 years ago

CLA is signed - moving to CLA onboarding via GitHub

ChrisSfanos commented 4 years ago

We will track the remaining onboarding work via this checklist:

Onboarding

Post Onboarding

oskardudycz commented 4 years ago

@ChrisSfanos thank you for the feedback! When should we expect next steps?

ChrisSfanos commented 4 years ago

Emailing going out shortly

oskardudycz commented 4 years ago

@ChrisSfanos I've sent 2 PRs:

ChrisSfanos commented 4 years ago

CLA bot configured On-boarding complete - closing issue