-
Notifications
You must be signed in to change notification settings - Fork 170
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
Enabling Payments for GitHub Codespaces for Projects #1009
Comments
Thank you @TheLarkInn for taking the time. I 100% agree with the benefits.
This can be an excellent step to access large runners on GitHub too. I opened an issue to Node.js a couple of months ago, but it is still pending due to the lack of a relationship (as far as I know). It might be good to mention it here too. (Referencing: nodejs/node#45345) Specifically for Node.js, I've had some issues in the past where my computer didn't have enough power to do certain things. Github codespaces were not enough either, but due to the complexity of Node, that's OK. It would be beneficial to have Github Codespaces for JS-based libraries and projects. I'm all in favor of enabling it. |
I'm not opposed to this, but want to mention that there are competitors to consider. Gitpod has a free tier and a more full-featured free tier for qualifying open source maintainers . I've used it with some success, but don't have any Codespaces experience with which to compare it. |
Thanks for this proposal @TheLarkInn! Happy to help on the GitHub side to see what we can do here |
This is really a really awesome idea. Codespaces fundamentally change how easily available a proper development environment is for those with the skills but not the funds to buy one themselves. As for the risks, the first is not really a risk, more of a notation as to why such an idea is not a risk; I like that. The second while a very edge case could actually be useful in the VERY VERY unlikely chance it happens because GitHub would then have logs of who could be considered a bad faith actor on the system. To mitigate the darkest of users which again are so rare, one could require that an account using this was over a certain age or activity amount, as in created 2 years ago or x commits per year etc. While I think this is not really needed these are some ideas to mitigate the concern or see the risk as a benefit in the case that anyone gets hung up on it. |
This is a great point and I'll spend some time to give it a look! I think my motivation for GitHub codespaces is that many (if not all?) projects in OpenJS Foundation live on GitHub, and therefore the ability to have Codespaces integrated seamless through multiple phases really appealed to me. Some examples are:
Perhaps these features are all existing on GitPod, however they don't exist so seamlessly through GitHub as Codespace does today (and potentially in more ways in the future). With that being said I will absolutely give some time to evaluate and learn about GitPod! |
@abbycabs I'd be more than happy for the webpack organization or the webpack-contrib org to be the pilots for this! I have experience setting up customized dev containers for |
That's amazing, thanks @TheLarkInn! @craiglpeters (Codespaces PM) and I are super excited to help here. Codespaces for individuals also has up to 60 hours a month free now -- which is not the same as Gitpod's free tier, but great for new contributors. |
I forgot to say, but def +1 on my side. It'd be great to code on the cloud whilst making open-source contributions. I even, a while ago, asked on Twitter "why there is no Codespaces for FOSS already?" |
We want to explore the opportunities for adding the OpenJSF as a billing manager to OpenJSF projects on their GitHub accounts. I'll look to pilot this with webpack and document how this worked out and coordinate with GitHub. Will report back on this in the coming weeks. |
@bensternthal Just following up here. We could start with a very modest amount ($100) for our codespaces fixed monthly allowance and see how far it gets us. I'll leave it to you to work with Finance and GitHub. Let me know when I need to add an account as a billing manager on the GitHub org. |
@TheLarkInn Based on how things are setup/organized with our projects in Github and that we want to avoid as much manual work as possible, this is what I think we should try:
This makes accounting on our side pretty easy and no one has to put this on a personal card/file expenses. If we decide to roll this out to more projects, we can better operationalize how this works (e.g. use a shared email for billing so I am not a single point of failure, etc..). What do y'all think? |
This would be fantastic. |
100% on board with this. It looks great. I assume this virtual CC also can change its spend limit so if/as we grow we can adapt on a monthly basis, etc. Let me know which email I should add as the billing manager on the webpack org. 🚀 |
@TheLarkInn OK this is all setup (I think). The virtual card has been added with a $100 limit per month on codespaces. Do poke around and let me know if you see anything funky. |
One thing to note with the spending limits -- I know for the larger runners (and probably codespaces), it will let you start a job if you're under the spending limit. However, this last job might cost more than whats left in your limit. So you might get charged slightly over what you set as a limit. I know some projects add a bit of buffer to the virtual card to prevent any issues with payment. |
Good call out @abbycabs I requested an extra $10 buffer on the card. |
In the Node.js org we might need similar setup. We constantly run out of build minutes in our nodejs-private org (the one we use for security work), and it would be better to pay for the overflow. |
@mcollina If you want to move forward we just need to know what kind of monthly budget you are looking at and for what billable github services (if it's just codespaces etc..) |
It sounds like larger runners would be helpful for the private builds! @mcollina let me know if you need to get flagged into the beta -- I can bump nodejs-private up on the waitlist. |
Fantastic, I'm just getting back to this so I will review and make sure it all is working here today! Thank you so much! |
@TheLarkInn here are the instructions to view usage for the org: |
Update here: We officially (myself included) have been actively using GitHub Codespaces via the webpack org! So far members on our team have given nothing but positive feedback. Thank you so much @bensternthal for the quick turnaround on enabling this. My next action items are to track the monthly usage for our org. I'll be leveraging to monitor usage and report back on this in the situation that we need to increase our monthly budget. |
@bensternthal will monitor. closing issue. |
@joesepi @bensternthal just circling back, did we update the documentation on this repo of which services we provide? It would be really useful to update that we offer GitHub Codespaces and which projects have the feature/billing enabled already 👀 |
@ovflowd AFAIK, this has not been documented. As of right now, we are only funding codespaces on Webpack. |
Can we document this? And the process for a project to request the resources? I can open a new issue for this if that makes sense? |
@ovflowd yes please open an issue. I'll need some help from the CPC on drafting the documentation. |
After reviewing the wonderful outcome from #953
Summary
GitHub Codespaces provides an easy way for developers to spin up a fully-featured development environment directly in the GitHub user interface, making it easier for them to contribute to open-source projects. However, the cost of using GitHub Codespaces may be prohibitively expensive. To help these organizations maximize the impact of their work, this issue proposes a program to enable them to receive financial assistance to pay for GitHub Codespaces.
Motivation
The OpenJS Foundation is committed to supporting its projects in their efforts to make a positive difference in the world. By providing a monthly funding for GitHub Codespaces, we can help ensure that all of the Foundation's projects have access to this valuable tool. Additionally, the ability to scale compute on an as-needed basis is crucial for debugging performance-critical and at-scale scenarios, and will help to improve the quality of the projects.
Proposal
To implement this program, the OpenJS Foundation will establish a fund to provide financial assistance to project organizations to pay for GitHub Codespaces. The funding will be a fixed monthly allocation which can be adjusted based on monthly usage and utilization per the organizations request.
The OpenJS Foundation will work closely with GitHub to ensure that the program is implemented smoothly and effectively, and will provide regular updates to the community on its progress and impact.
The following steps will be taken to implement this program:
Benefits
Risks
Conclusion
This program has the potential to make a significant positive impact on the work of all OpenJS Foundation projects, and we (at webpack) believe that it will be well-received by the community. By providing a fixed monthly payment for GitHub Codespaces, we can help ensure that all projects have access to this valuable tool, regardless of their size or financial resources, and to improve the quality of the projects by allowing for ad hoc scaling compute.
References
The text was updated successfully, but these errors were encountered: