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

Chronic lack of feedback from the maintainer: an offer of help #462

Closed
ivanmoskalev opened this issue Apr 30, 2019 · 13 comments
Closed

Chronic lack of feedback from the maintainer: an offer of help #462

ivanmoskalev opened this issue Apr 30, 2019 · 13 comments

Comments

@ivanmoskalev
Copy link

ivanmoskalev commented Apr 30, 2019

This is a very nice library that has gained good traction. Unfortunately, at this point there many issues and pull requests are left without any kind of feedback from the maintainer (#447 and #454 that I'm somehow affiliated with, but you can literally click through the list and see for yourself).

I tried reaching out to @DylanVann, but all I got was silence, unfortunately. For my project, this means that I'll have to use a private fork of the repo (for indeterminate amount of time, as it usually happens).

This can grow into a long-term issue, not only because of the project's inability to enjoy benefits from the community-driven model, but also because it is extremely disheartening to do work and open a PR only to have it hanging for almost a year (see #226). There was no single comment from the maintainer. I risk sounding judgemental, but this is bad taste for an open-source project.

If you invite people to do work for you for free, you are responsible for at least offering them your attention.

I would like, therefore, to draw attention to this in a separate issue.

If this is an open-source project that doesn't accept community contributions (it is common), then it should be marked as such in the readme.

If there is lack of time on @DylanVann's part, but he still wants the project to go on, then, I think, it might be advisable to invite contributors who would like to assume responsibility for releases and possible regressions.

If there are any other reasons, I think they should be voiced explicitly. The current state of affairs is not too community-friendly, I'm afraid.

I find this library useful and I'm ready to help out if it is needed.

@ivanmoskalev
Copy link
Author

Here is a quick list of stalled (and seemingly adequate) pull requests which were simply ignored:
#351
#409
#228
#303
#423
#454
#401

@Ilphrin
Copy link

Ilphrin commented Apr 30, 2019

I am willing to give a hand too :)

I know that maintaining free software can be a difficult and time-consuming task, and I perfectly understand that @DylanVann may not have time to do all the work (considering how much issues/PR there are in contrast of free time that can be accorded by someone).

So the best would be, at least, to have a few maintainers to help Dylan reviewing and accepting PR, so that community can still contribute. But anyway it is Dylan's decision, even though this is MIT license and that we could fork the project, it doesn't seem nice to me to do that right now (plus the fact that he is still working on the project when checking the commits). Can just wait for him to answer x)

@ivanmoskalev
Copy link
Author

So the best would be, at least, to have a few maintainers to help Dylan reviewing and accepting PR, so that community can still contribute.

Yes, exactly! What we could actually do would be:

  1. Label and categorise incoming issues, helping those who encounter known limitations and converting other issues / feature requests into actionable items.
  2. Review PRs, as you said.
  3. Help Dylan with regression testing beta versions of the library.

@Ilphrin
Copy link

Ilphrin commented May 6, 2019

Agree ^^
@DylanVann can someone have permissions to label PR/issues, and maybe being able to mark an issue as closed, if it is not too much trust asking with the random guys we are? ;)
And I just tried reviewing some PR and it seems everyone can do approvals or changes requests, not sure if it is the right way though :/

@DylanVann
Copy link
Owner

DylanVann commented May 8, 2019

I'm thinking about this. I have gotten some more free time recently so things may get better even not accounting for wether or not I add contributors.

If you invite people to do work for you for free, you are responsible for at least offering them your attention.

I technically did not invite anyone, as there is no PRs Welcome badge on the repo :trollface: . I do understand your frustrations, and I apologize for not always being able to give this project attention, and for being so reluctant to add contributors. In general I don't think open sourcing a thing obligates you to do anything further, but it's nice if you do.

I'll try to deal with one PR every few days, and will consider adding contributors.

@patrickkempff
Copy link
Contributor

@DylanVann I am happy to help (I have some PRs in this repo merged in the past) and willing to invest time to make sure your vision about this lib stays intact, even when adding other contributors/collaborators.

@ivanmoskalev
Copy link
Author

@DylanVann Good news! 🎊

@Ilphrin
Copy link

Ilphrin commented May 9, 2019

In general I don't think open sourcing a thing obligates you to do anything further, but it's nice if you do

You are absolutely right! In any case, it is your project so it is up to you ^.^

But your project has an increasing base of users, and an increasing number of people happy to your react-native-fast-image! That means an increasing number of people with different needs, and you have the chance to have a lot of people willing to help your make this project even better than it is now with a lot of PR! That's why we wanted to give you some help, so that no one will feel left alone :)

Saying that, it is a haaaaaard decision to take to give someone permissions to modify your little baby xD So I understand that you are reluctant to adding contributors, because when it is done, it is like it's not entirely your baby anymore :p

I'll try to deal with one PR every few days, and will consider adding contributors.

Glad to hear that! =D Thanks for your awesome work ^w^

@RWOverdijk
Copy link

@DylanVann Maybe put out a call for tests? Having a well tested repo should make it less scary to merge PRs.

@DylanVann
Copy link
Owner

Poor timing, got sick and work is busy. I will have time to merge some things and address issues on Saturday.

I've heard GitHub is adding more granular permissions so I will definitely add some people as contributors in some way.

Adding some more tests would definitely help things, it's unfortunate testing React Native is such a hassle. What I would want is to have some end to end snapshot tests of things that ensure images display properly.

@Ilphrin
Copy link

Ilphrin commented Jul 4, 2019

Hi @DylanVann! I haven't tried it yet, but it seems this could help in adding e2e tests for react-native-fast-image https://dzone.com/articles/detox-superfast-e2e-react-native-ui-testing :3

@madandrija
Copy link

madandrija commented Nov 27, 2019

Poor timing, got sick and work is busy. I will have time to merge some things and address issues on Saturday.

I've heard GitHub is adding more granular permissions so I will definitely add some people as contributors in some way.

Adding some more tests would definitely help things, it's unfortunate testing React Native is such a hassle. What I would want is to have some end to end snapshot tests of things that ensure images display properly.

Hi @DylanVann! I haven't tried it yet, but it seems this could help in adding e2e tests for react-native-fast-image https://dzone.com/articles/detox-superfast-e2e-react-native-ui-testing :3

If you really want e2e tests, Detox is the way to go, but you mentioned snapshots, and you get those by using render from react-native-testing-library and writing a Jest test e.g.

it("should match contain settings snapshot", () => {
// define source, style, etc.
  const fastImageContain = (
    <FastImage
      source={source as FastImageSource | number}
      style={style}
      resizeMode={resizeMode as FastImage.ResizeMode}
      onLoad={onLoad}
      resizeImageAndroid={{ width: imageWidth, height: imageHeight }}
    />
  );
  const { toJSON } = render(fastImageContain);
  expect(toJSON()).toMatchSnapshot("fastImageContain");
});

@sabinayakc
Copy link

@ivanmoskalev I have created my own npm package since I wanted to add functionalities. I can add people as maintainers.

https://github.com/sabinayakc/react-native-fast-image

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

7 participants