csharp-sparkpost icon indicating copy to clipboard operation
csharp-sparkpost copied to clipboard

State of this repo

Open Robar666 opened this issue 6 years ago • 15 comments

Hi,

first of thank you @darrencauthon for this NuGet package, we are using it in our commercial software for more than 3 years now and it always worked perfectly.

I'm now just wondering in which state this repo currently is and if it's still active or not, because the last release is over 2 years ago (Jul 2, 2017) and the latest commit to this repo by @darrencauthon was over one year ago (https://github.com/darrencauthon/csharp-sparkpost/commit/792d5f8982ce0706abee1e73167713a45ca36dca).

As many other we are also currently swapping to .NET Core and there are some open issues (https://github.com/darrencauthon/csharp-sparkpost/issues/79 https://github.com/darrencauthon/csharp-sparkpost/issues/163 https://github.com/darrencauthon/csharp-sparkpost/issues/171) and pull requests (https://github.com/darrencauthon/csharp-sparkpost/pull/138 & https://github.com/darrencauthon/csharp-sparkpost/pull/150) regarding this topic which aren't resolved yet.

Many others and myself already asked for updates in those mentioned pull requests and issues, but there was no response till now. So I thought I create an issue (is more a question than an issue) to ask for the current state.

There are some other SparkPost NuGet packages out there (https://www.nuget.org/packages?q=SparkPost ), but since this is still the recommended one by SparkPost and the most popular one, I just wanted to know if I have to switch or wait for possible updates in the future?

Robar666 avatar Aug 01 '19 08:08 Robar666

Good morning @Robar666 ,

Thank you for asking. I'll be honest and completely upfront with you:

The state of the project is that it's held back by personal life. Since I wrote this library, I've gone through a divorce, single parenting, remarriage, and moving. My personal life is so full and happy, it's hard to find time to load this library in my head. This library was a small passion of mine for a few months, as I wanted to see how well the design mechanics I had learned from years of Ruby would apply to C# (answer: very well). Plus, my employer needed to send emails with SparkPost and I didn't want us to get off on the wrong foot, one-off-ing each web call.

I still have a programming passion, but it's not in this space right now. I really want to finish this project that I've had in my head and scrawled in my notebook for years. What little time I can get, I've been putting towards it.

58978391_10161669847675173_1737012042973315072_o

So what does this project need? A conversion to dot net standard, which shouldn't be far off. Here is what I have on my list (I do have a list)

  1. Flip the library to dot net standard. This has already been done, and I think by multiple people. The only impediment is one static helper that converts mail messages, and the fix is to delete it. I think someone published it to Nuget, too, and good for them. :smile: However...

  2. Flip the tests to dot net standard.. This one is harder, or was harder back when I was in the middle of this a year or so ago. This library is very well tested, but it is dependent on AutoMoq and Should for unit testing, and SpecFlow for integration testing. I believe AutoMoq and SpecFlow have both been ported, and I think I even saw on Twitter last year that Should was ported. So many this is much easier?

The tests are the big deal. I've always taken this library very seriously with respect to changes. People use this library to send emails that their jobs and companies depend on, and I won't screw anybody around. The test suite has to be ported, and ported well. I'd rather let the library languish than to push untested changes to thousands of users.

  1. Build the dot net core / dot net 4.x packages. As anyone can see, I took the deployment seriously. The docker scripts and patterns are all set up and functioning, but... I just don't know how to modify them to publish to dot net core.

So that's what this project needs. And more than anything, this project needs another maintainer. Not just anybody, but someone who takes it seriously and has at least a small amount of passion for this. I don't mean to slight anyone who has contributed, as everyone's been very helpful. A year or two ago, I was still a little more strict on the form of this library, but at this point, whatever community we have will need to hold this up. Take what I have and change it, make it more dot-net-y, or whatever... the only real thing I really want is that we take the trust that other users have put into this library seriously.

I hope that helps. Maybe I could put out on my Twitter that I'm looking for new maintainers for this library. Do you know of anyone, @Robar666 ? @asherber ? Let's get this conversion going right now. :smile: I'm going to get out of the way, right now.

Thanks, Darren

darrencauthon avatar Aug 01 '19 14:08 darrencauthon

I'm a fan of this library and happy to help out, but since SparkPost isn't central to my work right now, I don't think I'd be a good maintainer. I think my PR #161 has what's needed to target net45 and netstandard1.6; it should be easy to change that to 2.0 if desired (or add 2.0).

asherber avatar Aug 01 '19 18:08 asherber

Hi,

first of all thanks for your honest response, I really appreciate a straightforward answer. I also totally understand that family comes first, I probably would have done the same in your situation.

I think it would be a great idea to put a tweet out that you're looking for new maintainer. I can also bring it up in our next sprint planning meeting, but since it is just a very small part of our application and we are currently working to capacity, I can't guarantee anything.

If I've any updates or ideas regarding this topic, I'll reply here.

Robar666 avatar Aug 02 '19 07:08 Robar666

Hi, it's been a while since my last response.

Since I had no time to work on this task, my colleague forked the project, made the necessary changes and created a pull request (https://github.com/darrencauthon/csharp-sparkpost/pull/187/). He migrated the Sparkpost + test project to netstandard2.0 and changed the test framework to xunit (since we are more familiar with this framework).

We are now using this code base for our application, so we classify it as "good enough".

We also came to the conclusion that we as a company wouldn't be a good maintainer for this project.

Hopefully this project gets a maintainer eventually, would be a shame to let this project die.

Robar666 avatar Oct 10 '19 12:10 Robar666

Hi @darrencauthon , I just wanted to add a personal note of thanks for the work you've done on this library. I use Linux and OSX for development, so gravitate towards other languages such as Python, C and Go. I hope you do find maintainers to take this forward.

tuck1s avatar Apr 08 '20 09:04 tuck1s

I'll maintain this. I've already forked this for work but having a community around this would be better.

adamhathcock avatar Apr 27 '21 08:04 adamhathcock

Hi @adamhathcock, how is it going?

Have you had time yet to work on the repo? Our PR #187 is still unmerged. I came back to this issue, because the next big roadblock is ahead: .NET 6 migration.

Robar666 avatar Dec 08 '21 13:12 Robar666

@Robar666 I'm not a maintainer of this repo. As far as I know, this repo is still abandoned

adamhathcock avatar Dec 08 '21 15:12 adamhathcock

@Robar666 If you're moving to .NET 6, and you've already migrated this library to netstandard2.0 (per your earlier post and PR), then you should be good to go, no? I agree that it's too bad this project is no longer actively maintained, but it shouldn't be a blocker for you.

asherber avatar Dec 08 '21 15:12 asherber

@adamhathcock Oh, I thought based on your last comment that you were the new maintainer of this repo.

@asherber You are right, basically everything still works. The word "roadblock" was probably a little bit exaggerated. But as you already mentioned, it's a shame that the package is no longer active.

Can't help myself to come back to this issue every couple of months to see if anything has changed.

Robar666 avatar Dec 14 '21 09:12 Robar666

I was volunteering to take this repo and nuget, etc as well as help review PRs and stuff as I'd like to stay up to date as well.

adamhathcock avatar Dec 14 '21 09:12 adamhathcock

Ping @darrencauthon

I'd like to maintain the continuity of this package and people instead of hard forking.

adamhathcock avatar Jun 23 '22 07:06 adamhathcock

@adamhathcock Just sent an invite!

darrencauthon avatar Jun 23 '22 15:06 darrencauthon

Great! Now to think of what updates are short term and what are long term 😬

adamhathcock avatar Jun 23 '22 16:06 adamhathcock

@adamhathcock Do you want to chat for a little bit about it? I can give you a general direction and "philosophy" of the library, but then it'd be up to you. 😄 My email is my first name at my last name, dot com.

darrencauthon avatar Jun 23 '22 16:06 darrencauthon