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

Moving image libraries to separate open source organization #881

Closed
bvssvni opened this issue Mar 14, 2019 · 44 comments
Closed

Moving image libraries to separate open source organization #881

bvssvni opened this issue Mar 14, 2019 · 44 comments

Comments

@bvssvni
Copy link
Contributor

bvssvni commented Mar 14, 2019

@PistonDevelopers/pistoncollaborator @PistonDevelopers/admins

I think it's time to consider moving image libraries to a separate open source organization.

Once the transition is made, I plan to reduce my own access.

@kvark
Copy link

kvark commented Mar 14, 2019

Which organization do you have in mind?

@bvssvni
Copy link
Contributor Author

bvssvni commented Mar 14, 2019

Create a new one?

@fintelia
Copy link
Contributor

I'd propose we create image-rs.

@Kagami
Copy link
Member

Kagami commented Mar 14, 2019

@bvssvni what exact packages do you have in mind? Format decoders/encoders or filters too?

@HeroicKatora
Copy link
Member

HeroicKatora commented Mar 14, 2019

I feel like this is the right step, thought about creating image-core today and didn't know whether it would fit into Piston. Same goes for av1 decoder in Rust etc. Ideally it'd be a group focussed entirely on graphics. Would it be possible to ask the Rust core team if this would make for a good Domain working group or should we operate less related?

@eddyb
Copy link
Member

eddyb commented Mar 15, 2019

gfx-rs seems already related to this area (although it's pretty clear their use of "graphics" refers to GPUs), but I'm not sure they want to take all of these crates in.

@kvark
Copy link

kvark commented Mar 15, 2019 via email

@bvssvni
Copy link
Contributor Author

bvssvni commented Mar 15, 2019

Since I'm not planning to take much responsibility in the future, I want people who are interested in this to decide the direction to go. I think that decoders/encoders should be moved with the image crate.

@HeroicKatora
Copy link
Member

What about some group related to servo (or the servo project itself)? They host many other crates only related to pure rendering as well, including but not limited to 2D graphics library Skia. We surely need to ask, but first should try to evaluate if contributors to these projects would feel okay with that change and clear up potential licensing concerns. It would surely take responsibility from you @bvssvni 😄 .

@kvark
Copy link

kvark commented Mar 15, 2019

I don't think Servo relies on the image crate for its function either, so they wouldn't be interested.
https://github.com/rustgd is the way to go. It's the new "PistonDevelopers" :D

@bvssvni
Copy link
Contributor Author

bvssvni commented Mar 15, 2019

My main concern for moving these libraries is security, so it would be preferable to use an organization with higher security than PistonDevelopers.

@HeroicKatora
Copy link
Member

HeroicKatora commented Mar 15, 2019

servo definitely relies in image, in fact in several places:

@HeroicKatora
Copy link
Member

HeroicKatora commented Mar 15, 2019

@nox who seems to be contributing to both servo, image and Piston overall. Maybe for some insight.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 5, 2019

I suggest that we go with @fintelia idea of creating image-rs.

Created https://github.com/image-rs

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 5, 2019

Here is the plan:

  1. I will invite a few people to the new organization who contributed actively to image repositories
  2. I will transfer the image repository to the image-rs organization
  3. I will set up two teams, one with publishing access to crates.io and one with write access to repositories (to maintain security)
  4. Once eventual issues with the transition are resolved, we move other repositories as well

The idea is that we first focus on moving a single project, to figure out what issues and concerns people have. Once these are figured out, we can move the other projects quicker as people feel comfortable with the new organization.

@eddyb
Copy link
Member

eddyb commented Apr 5, 2019

The inflate crate would also be moved, right?
Other than image-rs and the hematite(-related) repos, I would prefer not to be on the PistonDeveloper org, after this transition is completed (among other things, sometimes I'm flooded with notifications from new piston projects :P).

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 5, 2019

@eddyb Sure!

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 5, 2019

I'll give the few people that I invited ownership permission to the new organization, in case anything unexpected happens during the transition period. This does not mean that one has to agree to leading the organization by accepting the invitation. We'll deal with these issues later.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 7, 2019

OK, we have now 2 people besides myself with ownership permissions, making the transition safe in case anything unexpected happens.

I'll wait 24 hours to see if there are any last objections with the plan before we proceed to step 2. (see #881 (comment))

In 24 hours (or more), I will transfer the image repository to the image-rs organization.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 8, 2019

The image repository is now transferred to the image-rs organization.

I've created 3 teams:

  • Admin (administrating repositories and write access)
  • Merge (write access to all repositories)
  • Publish (publishing permissions to crates.io)

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 8, 2019

The Publish team has now access to publish on crates.io.

Github teams can not add or remove owners, so we need at least one extra owner. I suggest adding two people in case anything unexpected happens.

@HeroicKatora , @theotherphil are you willing to be added as owners on crates.io to the image crate?

@fintelia
Copy link
Contributor

fintelia commented Apr 8, 2019

@bvssvni Could you also add me to the image-rs organization?

@HeroicKatora
Copy link
Member

are you willing to be added as owners on crates.io to the image crate?

That would be fine for me.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 8, 2019

@fintelia I've sent you an invitation!

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 8, 2019

@fintelia are you willing to be added as owner on crates.io to the image crate?

@fintelia
Copy link
Contributor

fintelia commented Apr 8, 2019

Sure

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 9, 2019

I've now added @HeroicKatora and @fintelia to the Publish team, in case something unexpected goes wrong on Github. I've removed myself from the Publish team.

Two steps remaining before the security is improved to the minimum I wanted:

  1. I will remove the permission of pistondevelopers:publish on crates.io for image
  2. I wil remove myself as owner on crates.io for image

I'm waiting for @fintelia to accept the invitation as owner on crates.io for image, so there are at least two owners during the transition.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 9, 2019

I'm starting to discuss two issues on gitter to get things going: https://gitter.im/image-rs/community

  1. How we should invite people to image-rs
  2. Logo

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 9, 2019

After the other repositories are moved as well, I plan to restrict my access on Github to the Merge team. Before I do that, I would like to have the inviting policy to Merge and Publish resolved (whether to copy the Piston project or figure out something else). This can be done in parallel. Otherwise I can't think of anything that might prevent the new organization from running smoothly.

I would trust to the current three owners on Github to lead the organization in the immediate period after the transition (in alphabetic order): @fintelia , @HeroicKatora , @theotherphil . I'm open to other suggestions, and have no strong opinions of how the tasks should be shared, or what leadership in the long run.

What I recommend is building an Admin team so owners only have to appoint new administrators. And, of course, adding new owners in case there is shortage on people with necessary permissions to run things smoothly.

I might contribute from time to time, but I won't try to influence policy making if the people running this want to go in another direction. My main focus will be on the Piston project.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 9, 2019

Btw, happy 0th birthday image-rs!

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 9, 2019

@HeroicKatora
Copy link
Member

I think the most critical problems to solve/communicate:

  • Community lead: In contrast to other popular crates, this one is not lead or backed by any specific large individual or organization especially after the change in structure. In order to nevertheless provide the necessary focus, we could adopt some long-term goal tracker. Possible through RFC-style but these should never have to focus on implementation specifics so that they are approachable to write, understand, and integrate into tangential topics. This should allow evaluation of specific PRs and commits from a collective standpoint instead of an individual, immediate usefulness.

  • Collaboration confidence: It is therefore critical that even relatively new individuals can understand or at least estimate the scope and impact of their actions. To achieve this we need to define clear roles, for each role find the criticial responsibilities and also add clear guides for such actions and responsibilities. For this part, we can probably lend a few guidelines from Piston.

  • Separation: Allow members to specialize to their areas of interest and knowledge. Encourage experimentation with merits to the overall goals. If anything, I think we don't have enough crates and should split them more. While it may add some level of architectural overhead, it also allows lower level components to evolve on their own, without requiring the mental capacity for all abstractions built on top from contributors. I think a few crates can benefit from specific code, specific tests, faster CI, and smaller, more shallow dependency trees.

Also, it might be cool to have a blog in which every member can contribute to their own separate space. Both to get a feeling of involvement and an outlet for ideas and progression. And we should do regular progression posts (once every one/two months maybe? every six weeks?) on the overall project there and actively invite collaboration on these from new contributors and older ones alike.

@theotherphil
Copy link
Contributor

are you willing to be added as owners on crates.io to the image crate?

Yes

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 14, 2019

The inviting policy is now resolved.

@fintelia @theotherphil I'm waiting for you to accept the invitation as owner of image on crates.io, so I can proceed with the plan #881 (comment) . Need two owners in case anything happens during the transition. I believe you have to log in on crates.io to see the owner invitation.

@fintelia
Copy link
Contributor

fintelia commented Apr 14, 2019

@bvssvni I've already accepted, is it not showing up?

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 14, 2019

@fintelia Look here: https://crates.io/crates/image

@fintelia
Copy link
Contributor

Oh, oops. Done

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 14, 2019

@fintelia thanks!

I've opened #902

@theotherphil
Copy link
Contributor

Also oops. Also now accepted.

@nox
Copy link
Contributor

nox commented Apr 15, 2019

Can I be added too, please?

@HeroicKatora
Copy link
Member

Information regarding the invites: A short guide on the new structure regarding contributing. Remember to follow the Code of Conduct

  • If you have contributed to one of the image crates before, you can request to be added as a collaborator here: Collaborator invites organization#2
  • If you simply want to join the organization, anyone is welcome to do so here: Onboarding organization#1 While this doesn't give write access to the repos, you get to be part of a collective.

@bvssvni
Copy link
Contributor Author

bvssvni commented Apr 16, 2019

I've now removed the Publish team under the Piston project as owners on crates.io for image. My own permissions are also removed, reaching the minimum security acceptable.

The transition of image is now complete, the focus will now move onto other crates.

@pizzaiter
Copy link

Will the color_quant crate also move to the image-rs organization? It is a dependency of thegif crate.

@HeroicKatora
Copy link
Member

@pizzaiter These issues should probably be raised in the repository of the crate they concern. I'm going to close the transition as finished.

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

No branches or pull requests

9 participants