Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for collaboration #1

Closed
3 tasks done
rrthomas opened this issue Jul 5, 2023 · 28 comments
Closed
3 tasks done

Request for collaboration #1

rrthomas opened this issue Jul 5, 2023 · 28 comments

Comments

@rrthomas
Copy link
Owner

rrthomas commented Jul 5, 2023

The original project at https://github.com/ddclient/ddclient has been archived, so those of us offering to take it over can no longer discuss things on its issue tracker.

As mentioned in ddclient#528 (comment) I am happy to take on the project. Since upstream has now been discontinued, I will definitely maintain the project for my own use short-term. If there's sufficient interest from e.g. packagers and collaborators, I'll be happy to maintain it longer-term too.

Why use my fork? I don't have particular expertise in DNS, but I'm a long-term user of ddclient, and I have a history of taking other unmaintained projects and maintaining them for a long time, e.g.:

The previous maintainer of ddclient rightly pointed out that the code base is not in a great state, and recommended that others use a different dynamic DNS client, so why continue with ddclient?

  • Because it's familiar
  • Because it supports a huge range of dynamic DNS providers.

Others have suggested rewriting ddclient in a more modern language than Perl. I sympathise with this aim; indeed, I have rewritten other projects that I have taken on, but I don't think it's a great idea for ddclient; at least, I don't have the time. Instead, if I find there is interest in my fork, I plan to make some radical simplifications to make ddclient more maintainable long-term:

  • Remove support for finding IP address via many different routers. Quite simply, because I have never needed this myself.
  • Remove duplicate support for internet communication: use curl, rather than WWW::Curl::Easy or the non-Curl code.
  • Remove out-of-date/duplicate providers.

In general, I will concentrate on the core functionality of updating dynamic DNS entries, and tend to remove everything else, while retaining backwards compatibility on the command-line and in config files. In short, I will try to keep things working as well as I can for existing users.

@LenardHess
Copy link
Collaborator

As mentioned in the ddclient issue, I'm also up for maintenance of this project.

I share your opinion of getting ddclient simplified. My prior ideas for this were:

  • Deprecating the sendmail failure notification by replacing it with a generic external command option.
  • Section off the providers logic to ease adding, updating or deprecating individual providers

@LenardHess
Copy link
Collaborator

LenardHess commented Jul 8, 2023

@wimpunk (following up on here)
How much time until ddclient.net has to be renewed? What are the costs of the domain (or any other infrastructure used for ddclient)?

@rrthomas
Copy link
Owner Author

rrthomas commented Jul 9, 2023

As mentioned in the ddclient issue, I'm also up for maintenance of this project.

I share your opinion of getting ddclient simplified. My prior ideas for this were:

* Deprecating the sendmail failure notification by replacing it with a generic external command option.

* Section off the providers logic to ease adding, updating or deprecating individual providers

These ideas sound entirely complementary to mine, that's great. If you're happy to start development on my fork for now, I could add you as a collaborator.

As you will see, the one change I've made so far is to merge DNSExit v2 API support (it's something I needed). Of course, it will be necessary to go to the archived project and find important fixes and updates there to merge.

@LenardHess
Copy link
Collaborator

I'd be up to start, yes

I already resubmitted #2 for the feature I wanted to add originally.

@rrthomas
Copy link
Owner Author

rrthomas commented Jul 9, 2023

I would be happy to give you maintainer access to this repo so we can move faster, if you like. I have updated the code header with just my details as maintainer; feel free to add your own.

@nemchik
Copy link

nemchik commented Jul 9, 2023

LSIO maintainer here. We are considering deprecating https://github.com/linuxserver/docker-ddclient but given your fork, we'll keep an eye on things for a little while before taking any action.

@LenardHess
Copy link
Collaborator

LenardHess commented Jul 9, 2023

I sure hope the LSIO container sticks around, as I've been using it for my ddclient setup ;)

I was planning on reaching out to you guys anyways in the coming days, to figure out whether you guys would want to transition, and if, how to make it easiest for all of us.

But first I'd say we should figure out what happens to ddclient.net and the ddclient github organization

@nemchik
Copy link

nemchik commented Jul 9, 2023

But first I'd say we should figure out what happens to ddclient.net and the ddclient github organization

Ping me once you've got those things sorted and a release tagged.

@rrthomas
Copy link
Owner Author

rrthomas commented Jul 9, 2023

@LenardHess I've pushed a couple of big code-removal commits, but since the first one (#5) causes test failures, I'll obviously work on that first, and before that I'll fix CI.

@tomeon
Copy link

tomeon commented Jul 12, 2023

As for codebase TLC goals, what do you think about this?:

  • Implement code coverage for tests (via, e.g., Devel::Cover)
  • Add tests for more providers (possibly with mocked-up provider APIs)?

More tests would be great.

@LenardHess
Copy link
Collaborator

LenardHess commented Jul 13, 2023

@tomeon

In case it proves infeasible to adopt the https://github.com/ddclient GitHub organization, I've created the organization https://github.com/ddclient-ng. If you'd like to coordinate work there, I'd be most happy to add you and other collaborators to the organization. I can turn it over its ownership to you as well, as I can't pretend that I'll be able to devote more than avocational attention to the project.

I've reached out about the future of the ddclient.net domain, I didn't yet get around to doing so for the Github organization.

As for codebase TLC goals, what do you think about this?:

* Implement code coverage for tests (via, e.g., [`Devel::Cover`](https://metacpan.org/pod/Devel::Cover))

* Add tests for more providers (possibly with mocked-up provider APIs)?

Sounds good, I was also thinking about getting mock providers set up for testing. At minimum we should have better docs on what the expected API responses are.

@wimpunk
Copy link

wimpunk commented Jul 13, 2023

@wimpunk (following up on here) How much time until ddclient.net has to be renewed? What are the costs of the domain (or any other infrastructure used for ddclient)?

It has to be renewed on the 19th of August. I can transfer the ownership if needed. It's currently hosted by one.com but any DNS provider offering the .net domain should work. It currently costs me 51Euro.

Did @SuperSandro2000 told why he wanted to archive the project in stead of transferring the ownership? Maybe it's just easier to transfer the project, no?

@wimpunk
Copy link

wimpunk commented Jul 13, 2023

@LenardHess , I can transfer the ownership of the ddlcient organisation if needed.

@LenardHess
Copy link
Collaborator

It has to be renewed on the 19th of August. I can transfer the ownership if needed. It's currently hosted by one.com but any DNS provider offering the .net domain should work. It currently costs me 51Euro.

Is one.com just the registrar or also the website host? 51€ per year I assume?

Did @SuperSandro2000 told why he wanted to archive the project in stead of transferring the ownership? Maybe it's just easier to transfer the project, no?

I did not specifically reach out to him so far. He closed down (archived) the repo even though both @rrthomas and I offered to take over within the other conversation, but i neither asked specifically about taking over the organization nor did he state to us any reason why he closed instead of transferring.

@LenardHess
Copy link
Collaborator

@LenardHess , I can transfer the ownership of the ddlcient organisation if needed.

Sure, that would be great.

@tomeon
Copy link

tomeon commented Jul 13, 2023

I've reached out about the future of the ddclient.net domain, I didn't yet get around to doing so for the Github organization.

It's a moot point now that it looks like ownership of the ddclient organization will be transferred, but I brought this up because one of the previous contributors seemed to express reluctance to hand it over ("Some things need to end for good and I am somewhat relieved ddclient is one of them," ouch). I am glad that it appears ddclient and its associated GitHub org won't die after all.

I was also thinking about getting mock providers set up for testing. At minimum we should have better docs on what the expected API responses are.

Cool. I will see about getting a start on it this weekend.

@wimpunk
Copy link

wimpunk commented Jul 13, 2023

@LenardHess , I can transfer the ownership of the ddlcient organisation if needed.

Sure, that would be great.

Looks like I was wrong. I'm no longer part of the team. You'll have to ask @SuperSandro2000.

@wimpunk
Copy link

wimpunk commented Jul 13, 2023

Is one.com just the registrar or also the website host? 51€ per year I assume?

It's just a registrar. Everything is hosted on github.com and the old stuff is hosted on sf.net.

@LenardHess
Copy link
Collaborator

It's just a registrar. Everything is hosted on github.com and the old stuff is hosted on sf.net.

Ok, seeing as the docs repo is also archived right now we might have to fork that and redirect to the fork, depending on what happens to the github organization.

Lets switch to E-Mail to take care of the domain transfer.

@LenardHess
Copy link
Collaborator

@LenardHess , I can transfer the ownership of the ddlcient organisation if needed.

Sure, that would be great.

Looks like I was wrong. I'm no longer part of the team. You'll have to ask @SuperSandro2000.

@SuperSandro2000 (@DaveSophoServices @rhansen):
Can you please add myself and/or @rrthomas to the ddclient organization?

@rrthomas
Copy link
Owner Author

If it helps, I'm a member of the organization already.

@LenardHess
Copy link
Collaborator

LenardHess commented Jul 13, 2023

I can't see you in the organization people list?

I can see myself. (Edit: It was a "private" status; I made it public.)

Are you able to unarchive the org and repo?

No, presumably because my role is just "member".

I would prefer to merge this fork back into the original repo if we can keep the original org alive.

Absolutely!

@LenardHess
Copy link
Collaborator

@rrthomas please just respond with a message instead of editing mine with a response, its confusing and not giving me a notification

@rrthomas
Copy link
Owner Author

@rrthomas please just respond with a message instead of editing mine with a response, its confusing and not giving me a notification

Apologies, I thought I had undone that! I hit Edit rather than Quote Reply by mistake.

@SuperSandro2000
Copy link

Can you please add myself and/or @rrthomas to the ddclient organization?

done

@rrthomas
Copy link
Owner Author

Can you please add myself and/or @rrthomas to the ddclient organization?

done

Thanks, is it OK if I unarchive the project now?

@rrthomas
Copy link
Owner Author

I have unarchived the ddclient/ddclient project.

@rrthomas
Copy link
Owner Author

Closing issue as done: we have collaboration, and we're moving back to the original project shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants