opencollective / opencollective

We're tracking all our Issues, RFCs and a few other documents in this repository.
https://opencollective.com
MIT License
2.01k stars 369 forks source link

On boarding Open Source Projects #33

Closed xdamman closed 8 years ago

xdamman commented 8 years ago

We should have an easy process to on board open source repositories.

Apply to create an open collective for your open source project.

We are slowly accepting new open collectives. Apply today to reserve your spot.

  1. Connect your github account
  2. Select the repository for which you'd like to create an open collective (your repo needs to have at least 100 stars)
  3. Select the people who should be part of the collective (minimum 2)
  4. What's your mission?
  5. What would use the money for?
  6. Thank you for your application. To be eligible, you need to have at least 10 people to commit to become a backer or a sponsor. They won't be charged until your collective is approved. Share with them this link: opencollective.com/org/repo

    Pending collective

If a collective hasn't been approved yet, their page should say something along the lines of:

We have applied to become an open collective. To be approved, we need your help!

We need x more people to commit to become a backer or a sponsor.

Become a backer for $5/month Become a sponsor for $100/month You will only be charged once we reach our goal of 10 backers or sponsors

Thank you for your commitment. Help us spread the word!

asood123 commented 8 years ago

I love the idea of having people sign up their Github repo and building a waitlist.

Re: getting 10 people to commit before activating. Our backend isn't built for queued transactions. It does all transactions real-time. We could hack it:

  1. And add a flag to Groups table onWaitlist that will determine what content to show on the frontend.
  2. We'll still get the Stripe token and create a Donation with a flag toBeCharged (but not ping stripe to create a charge, customer, etc). Then, use a script to charge them for a particular group when we activate that group. Right way to do that would be a queuing system, which we'll need at some point anyway.

Ideally, we should be able to map fields from a github repo directly to our group page. Like first section of the README.md -> longDescription, etc.

Since the payments part is tricky, I'd get this live before implementing that piece. Allow the signup from our homepage, validate Github account, store in ConnectedAccounts, create the group in the background with the flag onWaitline and serve a static page "Your group isn't ready yet..." on opencollective.com/org/repo. That way the queue can start building, while we implement the payments piece.

cuiki commented 8 years ago

The second part I get: a state of the collective page where the applicant can share with their network to get backers on board. But where would the initial page/state live? The one where we outline the steps they need to follow to apply. I'm assuming in the OpenCollective landing page. Can you clarify?

asood123 commented 8 years ago

Yep, we should link it off of our homepage. It's the website-static repo. We can add you to it. On Thu, Apr 21, 2016 at 2:20 PM Darío Muñoz notifications@github.com wrote:

The second part I get: a state of the collective page where the applicant can share with their network to get backers on board. But where would the initial page/state live? The one where we outline the steps they need to follow to apply. I'm assuming in the OpenCollective landing page. Can you clarify?

— You are receiving this because you commented.

Reply to this email directly or view it on GitHub https://github.com/OpenCollective/OpenCollective/issues/33#issuecomment-213047423

xdamman commented 8 years ago

Since we should eventually get rid of the static website repo I'd rather have that on the website repo and make sure we slowly but surely converge to the same footer and header and general style everywhere. With a route like /opensource/apply

erickrico commented 8 years ago

Hey, on the step 3: Select the people who should be part of the collective (minimum 2) the selected people need to have a OC account or they will be generated? I don't quite get this step

xdamman commented 8 years ago

They should be contributors of the github repo. We will automatically send them an email and they will have to accept the invitation (and they will become OC users if they weren't already)

erickrico commented 8 years ago

this is what i got so far, pretty much the main flow is done, each screen has more instances (ex: when nothing is selected, when only one member is added, etc) 0 step 1 step 2 step 3 step 4

erickrico commented 8 years ago

as for the instance of the collective trying to become a "real collective" we cant quite reuse the regular collective page, i think we can take queues but we have to create a different instance, this is what i propose in terms of information estructure

1- Introduction to the collective process (pending collective) and current status # of backers/ # of backers to become a collective

2- mission (it will look similar to the current collective headers)

3- Core Contributors & How they will spend the funds they get: here we will talk not only about the collective but also introduce what open collective does in terms of transparency, etc...

4- current backers in case there are any, and a cta to join the collective with the corresponding note about not getting charge until they become a "real collective" slack_for_ios_upload_1024-1

xdamman commented 8 years ago

We should put ourselves in the shoes of the maintainer of an open source project. He will basically share that page to friends who already know what he/she is doing.

So in terms of hierarchy of information it should be:

h1 Help us create an open collective for MochaJS

We want to create an open collective to collect money from backers and sponsors for our open source project MochaJS. We will use that money to pay for design work, maintenance and servers.

We need at least 10 people to commit to become backers to be able to open our collective.

[ Be the [first|2nd|...] backer for $5/month ] you won't be charged until we reach our goal of 10 backers

Thank you so much for your support.

-- Core contributor 1, Core Contributor 2, ...

h2 About Open Collective

We use [Open Collective host] to collect the funds on our behalf using OpenCollective. Whenever we need to use the money for something, we will submit the invoice or expense via the OpenCollective app and once approved we will be reimbursed. That way, you can always track our budget. Everything is transparent.

piamancini commented 8 years ago

I think it works. I agree that the most important thing is what they are trying to do and the about OC comes next.

Also: are we gonna allow for user edit of that content?

erickrico commented 8 years ago

Hey im coming out with a concept of FOUNDERS for the first 10 backers, and we can add them a star or something on the backer card so they feel cool, give the people a urge for joining this pending collectives, kind of like a early bird. what do you think?

xdamman commented 8 years ago

Mmmm... I like that! "Be a founding backer". I wonder if there could be situations where people wouldn't want that the first 10 backers to be called that way. @piamancini what are your thoughts on this?

piamancini commented 8 years ago

I like it as well. My only caveat is that it can be tricky if it's misunderstood as founders of the project in itself. We already had one person raising concern about the "member since" in our public page and it makes sense.

xdamman commented 8 years ago

Yeah. Maybe there is a better name. Or maybe just the "member since" is enough to incentivize people to be a member asap?

erickrico commented 8 years ago

maybe we can just use the term "early bird" or just "early backer"

erickrico commented 8 years ago

Hey, check out the pending collective page, i will have to revisit a little the on-boarding final step (regarding mission and how they plan to spend the money) as for the logo on top i think it will be easy to get since we already got their github information and avatar of the repo owner... or just ask for it 😁 pending-collective-no-backers pending-collective-with-backers

xdamman commented 8 years ago

Ship it!

I love it. I love the idea of the 10 cards. It's clear, it's simple, it's great.

piamancini commented 8 years ago

me too!!! love it

P. piamancini.com t: @piamancini s: piamancini OpenCollective https://opencollective.com

On Tue, Apr 26, 2016 at 8:13 PM, Xavier Damman notifications@github.com wrote:

Ship it!

I love it. I love the idea of the 10 cards. It's clear, it's simple, it's great.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/OpenCollective/OpenCollective/issues/33#issuecomment-214958711

erickrico commented 8 years ago

Just to recap, this will be the final version 0 1 2 3 4 pending-collective-no-backers pending-collective-with-backers

xdamman commented 8 years ago

Actually now that I think more about this it would be better to by default show all contributors and ask the creator of the collective to uncheck the ones that shouldn't be members of the collective (instead of selecting the ones that should be part). Maybe we can show a user card for each with their number of commits and last commit date.

cuiki commented 8 years ago

I agree with doing the uncheck vs the explicit selection. It'll be better for sure into helping having more contributors.

About the card including the commits and commit dates, that is cool, but what about contributors that are not engineers and work on the Open Source project? For example, I am in the GitHub organization of our projects, but since I am a designer, I don't do commits. Should we think of a way to elevate those cases too with a different card? Maybe it is just an edge case, but the other contributors cards will look cooler with the GH commits and all. I feel left out hahahaha

xdamman commented 8 years ago

That's a very good point. We can probably add other metrics like number of comments. Let me see what data we can have through their API.

I'd love to also add the concept of "roles" at some point so that you could say "designer", or "community manager", etc. (not a title, I'm against titles)

cuiki commented 8 years ago

Yeah, I think roles are cool. I hate titles as well, but if we specify roles, it'll be cool. @erickrico, please wait for @xdamman to see what we can have through the API.

erickrico commented 8 years ago

cool, let me work on that step, i imagine a solution like the one on the "pick a repository" step but with checkboxes, any way let me get at it

erickrico commented 8 years ago

step 3

xdamman commented 8 years ago

Why not showing them as they would show on the page? So people already have an idea of the different size they will have (only the X most active contributors should have a full user card, the others should be smaller.)

That way we could also reuse the same react component on the public page of the collective (there should just be a toggle "selectable")

What do you think? Maybe it's more complicated this way to also convey how much they contributed? Maybe those stats can be "on hover"?

erickrico commented 8 years ago

i think to attack this issue properly I'll have to revisit the collective page, work there first and afterwards see how that translates to this step

erickrico commented 8 years ago

ok, for the repo contributors, i think we should create a new kind of user, either organisations, communities and open-source projects can benefit from this, giving other kind of contributors acknowledge for their work towards the project, whiteout being called core contributors, since they are the guys who have direct access to the money (and other bigger responsibilities towards the collective).

For the name of this new entity i propose one of the following :

and they will be displayed as the following sketch:

slack_for_ios_upload_1024

what do you think?

xdamman commented 8 years ago

Looks great. I'd just call them core contributors and contributors. Keep it simple.

erickrico commented 8 years ago

ok, keeping it simple, working on it

erickrico commented 8 years ago

hey, sooo this will be the new view for a collective,

core contributors + contributors (lots of contributors)

screen shot 2016-05-03 at 5 22 20 pm

core contributors + contributors (few contributors)

screen shot 2016-05-03 at 5 22 37 pm

and the actual on-boarding step

i did try a version with a ui more similar to the final result, but it seemed to crowded for a process that should be fast and concise step-33

regarding the core contributors, i think we should put a limit to the number a oc should have, any notes on this?

piamancini commented 8 years ago

I love the way it looks :)

xdamman commented 8 years ago

This i great @erickrico! And given that we now have "Core contributors" and "contributors", it makes sense to select the core ones and automatically add all contributors.

I wonder how this list of contributors would look on mobile and how you would do the hover state. Also it would be good in that bubble to also show some stats, at least first and last contribution ("contributor between 2011 and 2013", "contributor since 2012", ...)

xdamman commented 8 years ago

Also: ship it! 🚢

xdamman commented 8 years ago

There is one thing bothering me though. There is this sense through this design that there is a pyramid. That the core contributors are above the contributors.

I'd love to see something more in circle or in network. Can you try something?

erickrico commented 8 years ago

yea, i do understand that it feels kind of segregating, let me try something out, but i do feel there must be some kind of hierarchy attached to the responsibilities they fulfill to the collective.

xdamman commented 8 years ago

Sure, people should have different roles and responsibilities attached to it, but we should do our best to not convey the old paradigm of pyramid. A collective is people pursuing a mission together. Where each has something different to contribute. It should also be inviting. People should feel welcome to contribute whatever they can.

Tough design challenge!

erickrico commented 8 years ago

challenge accepted! screen shot 2016-05-04 at 3 39 21 pm

xdamman commented 8 years ago

What do you think @piamancini ?

Also don't forget to add in the popover the first and last contribution as explained in my previous comment https://github.com/OpenCollective/OpenCollective/issues/33#issuecomment-216705986

erickrico commented 8 years ago

hey, here is the mobile version + the bubble ( to reveal it on mobile you just tap the circle) i have an odd feeling about the stats in the bubble , i know we are focusing on the open-source community right now but how are we going to replicate this kind of information to the communities/organisations, i like the 1st contribution part because it can be mirrored as member since on the other kind of collectives, but the second part of last contribution doesn't feel quite right, what do you think? mobile mobile-taped mobile-tapped-2

xdamman commented 8 years ago

Instead of first and last commit I'd say "Contributor since ..." or "Contributor between 2013 and 2015".

How would the popover work for an avatar near the edge?

erickrico commented 8 years ago

edge

piamancini commented 8 years ago

I like the idea! I wouldn't put the last day or the between. What if someone starts contributing again? I say keep it simple and just put the since date.

xdamman commented 8 years ago

In an open source project they are plenty of people who just contributed a tiny change 2 years ago. We should differentiate those from contributors who have been regularly active in the past 2 years. Maybe the circle around them can reflect their level of contribution? (e.g. number of months they have been active)

erickrico commented 8 years ago

hey guys i think this issue is getting out of control, we feel confortable with the on-boarding process? if so we can make a new issue regarding the contributors in the collective page.

piamancini commented 8 years ago

I agree. we need to move faster on this.

erickrico commented 8 years ago

oooo @xdamman i think i got it, we are going to order them by contribution relevance and show them this stats screen shot 2016-05-05 at 1 16 12 pm

dosnt really matter first and last commit, but the quality of each

xdamman commented 8 years ago

Yes, definitely good enough to already start the implementation. We can always iterate.

Ship it and please share progress.

piamancini commented 8 years ago

I like the solution you came up with!

dasilvacontin commented 8 years ago

I love these popovers – awesome job!

I know it no longer belongs to this 'ticket', but feel free to quote in whichever one you move the discussion to.

I would personally like to see issue/PR comments also reflected:

"Every comment is a contribution".