How to manage packages in your OSS projects?
I made a commitment that every time I release a new version of my open source .Net Core CMS between freelance gigs, I would add a new data connector until i got to 5. I started with LiteDB, then added Postgres, and looking at adding Mongo or SQLLite next.
The package right now is not huge, but the support for Postgres increased it a good bit because of extra tooling to interact with it (Marten) and I could see another bump up for MongoDB of about 20-30%. Does it make sense to have it all in one big CMS package, or do like I have seen before of having different packages like:
- [SpoonCMS.Core]
- SpoonCMS.LiteDB
- SpoonCMS.Postgres
- SpoonCMS.MongoDB
- etc...
And having all packages depend on the SpoonCMS.Core, but you pick the Data flavor you prefer? That seems cleaner, but I know I hate having my dependency list cluttered (even if for one more dependency) and it adds a little more overhead for the project maintenance. Do people care about the size of these packages that much and prefer the simplicity?
What have you guys done as a project owner, and what would you prefer as a user?
0 comments:
Post a Comment