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.
Here is a quick list of stalled (and seemingly adequate) pull requests which were simply ignored:
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)
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:
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 :/
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 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.
@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.
@DylanVann Good news! 馃帄
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^
@DylanVann Maybe put out a call for tests? Having a well tested repo should make it less scary to merge PRs.
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
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");
});
@ivanmoskalev I have created my own npm package since I wanted to add functionalities. I can add people as maintainers.
Most helpful comment
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.
I technically did not invite anyone, as there is no
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.