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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Join forces #18

Open
sandstrom opened this issue Aug 30, 2022 · 8 comments
Open

Join forces #18

sandstrom opened this issue Aug 30, 2022 · 8 comments

Comments

@sandstrom
Copy link

sandstrom commented Aug 30, 2022

I found this excellent gem! 馃拵

It seems like there are a few ruby gems for string matching:

Would it make sense to join forces? In other words, have several maintainers of one project.

String distance is a great functionality, but the API can be pretty static over time. So what's important is mostly to have several maintainers that can help each other with CI upgrades and similar.

ping @kiyoka @flori @dimus @tonytonyjan

I've opened issues in all three repos quoted above, with the same message

@sandstrom
Copy link
Author

To avoid spreading the discussion across four threads, let's keep it all in this one.

@dimus
Copy link

dimus commented Aug 30, 2022

Interesting idea @sandstrom, can you describe your proposal in a bit more detail?

@sandstrom
Copy link
Author

Basically choose one of the projects (this is the hard part), if that project is missing something important from any of the others, port those features over, so that the chosen project mostly has feature parity with the others, then deprecate the others and concentrate future work in one repo/project.

There would then be several maintainers in the chosen project (less work for each, only one CI flow to manage, etc).

Since string distances is a pretty narrow concept, these libraries are basically feature complete as is (they are great though!). So most of the work that goes into them is about supporting new versions of Ruby, etc. Better if that burden is shared, also less risk of an abandoned gem, where no one has access any longer.

The respective projects would still remain, but probably with a notice saying that future development will occur in the chosen project, and a link to it.

@dimus
Copy link

dimus commented Aug 30, 2022

All of these projects are in active use, and are registered as gems, so they pretty much cannot dissappear or be abandoned completely. Saying that, having a tool that aggregates functionality of all them would be nice.

I guess there are two approaches:

  1. to create a gem that sits on top of the projects and creates an adaptor interface to them
  2. to take important parts from the mentioned gems, and write a new gem that combines their functionality, which should not be a problem with open-source projects (the only important thing in this case would be to assign the correct license that is compatible with licenses of all used projects)

@sandstrom
Copy link
Author

I'd vote for 2 (and preferably under one of the existing gems, instead of creating a brand new one; just make it a major version bump for any breaking changes).

Good point on licenses, I didn't think about that.

@tonytonyjan
Copy link

Feel free to use the source code of jaro_winkler (It's MIT license) and please include credit comments on the top of copied files if you plan to make another gem.

@sandstrom
Copy link
Author

@tonytonyjan Would you be willing to also stay on as a maintainer, on a possible joint project?

@tonytonyjan
Copy link

No, I am willing to be a little contributor but would probably have no time to be a maintainer.

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

3 participants