Skip to content

Issue: New .NET Foundation Project Application - .NET Modeling Framework (NMF) #453

@georghinkel

Description

@georghinkel

Project Name

.NET Modeling Framework (NMF)

License

BSD-3

Contributor

RheinMain University of Applied Sciences

Existing OSS Project?

Yes

Source Code URL

https://github.com/NMFCode/NMF/

Project Homepage URL

https://nmfcode.github.io/

Project Transfer Signatories

Description

This projects aims to support model-driven engineering on the .NET platform, in a broad sense. It is inspired from the Eclipse Modeling Framework (EMF), hence the similarity of names. It provides:

  • A framework to organize models in repositories, allowing models to be split over multiple files
  • A code generator to generate C# or VB.NET or F# code from a metamodel, compatible with EMFs Ecore
  • A serializer that serializes model instances into XMI
  • A framework for incremental change propagation
  • A model transformation language (for unidirectional model transformations, dedicated support for code generators)
  • A model synchronization language (for declarative, bidirectional, incremental model transformations)
  • A framework for textual domain-specific languages (DSLs), similar to XText or Langium
  • A framework for graphical DSLs, similar to Eclipse GLSP
  • much more :)

Name

Georg Hinkel

Email

georg.hinkel@hs-rm.de

GitHub Profile URL

https://github.com/georghinkel

Committers

The current committers include Georg Hinkel (the maintainer) and three current students at the RheinMain University of Applied Sciences.
The project also contains commits authored by 13 other committers, mostly former students.

Discord Ids

No response

Governance Model

New code changes are currently proposed to the project as Pull Requests, verified by automated CI (through AppVeyor) and manually reviewed. New comitters are identified and appointed manually.

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?

Currently, a CLA check is not in place.

CLA Notification Alias

georg.hinkel@hs-rm.de

Select the Project Transfer Agreement model

Assignment

Repository Layout

Currently, the documentation is separated into another GitHub repository in order to avoid CI builds when only documentation changes.

Eligibility Criteria

  • The project is built on the .NET platform and/or creates value within the .NET ecosystem.
  • The project produces source code for distribution to the public at no charge.
  • The project's code is easily discoverable and publicly accessible (preferably on GitHub).
  • The project contains a build script that can produce deployable artifacts that are identical to the official deployable artifacts, with the exception of code signing (Exception may be granted for strong name keys, though strongly encouraged to be committed. Exception relies on OSS signing being in the build script for public builds).
  • When applicable, project must use reproducible build settings in its toolchain.
  • The project uses Source Link.
  • The project uses either embedded PDBs or publish symbol packages to NuGet (if applicable).
  • The project code signs their artifacts as appropriate.
  • The project organization has 2FA enabled. Requiring 2FA must be done as part of onboarding if not already enabled.
  • Libraries that are mandatory dependencies of the project are offered under a standard, permissive open source license which has been approved by the .NET Foundation (exceptions include a dependency that is required by the target platform where no alternative open source dependency is available such as the .NET Framework or a hardware specific library).
  • Committers are bound by a Contributor License Agreement (CLA) and/or are willing to embrace the .NET Foundation's CLA when the project becomes a Member.
  • The copyright ownership of everything that the project produces is clearly defined and documented.
  • The project has a public issue tracker where the status of any defect can be easily obtained.
  • The project has a published Security Policy.
  • The project has a home page which provides high level information about its status and purpose.
  • The project has a public communication channel where community members can engage with maintainers.
  • The project has a publicly available location where members can review and contribute to documentation.

Describe why you are applying for Project Membership.

The project has been around for more than a decade now, starting as an academic project but now with an increasing number of downloads and users. I would like to make the project more public. The project publishes more than 30 NuGet packages where the most popular package currently has more than 800k downloads.

Infrastructure Requirements Summary

The project currently uses AppVeyor to build the deliverables, but that could be changed to GitHub Actions. The documentation is hosted in GitHub Pages.

Additional Notes

I understand that the project currently does not meet all of the eligibility criteria as defined above. However, I would like to start the process and use this issue to discuss necessary steps to become part of the foundation or whether you say that the project is out of scope.

Metadata

Metadata

Labels

project applicationproject supportUse this label to request support for an existing .NET Foundation project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions