Ask HN: Are there any decent GitHub Copilot Alternatives?
I find myself, especially when I'm jumping between languages that I'm less familiar with, more reliant on copilot for boilerplate, or at least example code that I can modify. It really does come in handy and save time, but I'm not certain it's worth $10 per month, or I'm just a cheapskate, and would rather find a better deal if there is one.
I've tried Tabnine, but it's never been that great and it's a memory/cpu hog.
Just got a notice that copilot's 'preview' is ending in 3 days, so it's time to find a replacement or decide if it's worth it to keep it and pay the fee.
87 comments
[ 2.9 ms ] story [ 144 ms ] threadAlso I think the main point is just the fact that such a useful tool is so monopolized currently. Would be nice to know that if Microsoft randomly decided to triple the price or do something shady with it, there would be fallback options. Preferably something open sourced and community oriented
https://education.github.com/pack
I've gotten this before, but it was a little tricky as I had to get someone from my school to submit credentials to GitHub in order for us students to have access to this. Not sure if the process is still the same. I assume if you go to a large university this has probably already been done for you
Also I don't actually see Copilot listed there...
- GitHub Copilot (owned by Microsoft)
- Amazon CodeWhisperer (still in development)
- TabNine (just not there yet)
- Kite (no longer maintained)
https://github.com/moyix/fauxpilot
Support and Warranty
lmao
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
That's actually pretty important.
[7] codegen-16B-mono (32GB total VRAM required; Python-only)
[8] codegen-16B-multi (32GB total VRAM required; multi-language)
So for example, say you have a function called "doThingie()". Copilot will look at how the function is defined, and be able to generate code that correctly uses "doThingie()".
I honestly think that $10/month is more than worth it. I found that having copilot is cheaper than hiring a junior dev. I mostly use it for C++, python, and TypeScript and has been really satisfied with it.
Scope of work for the AI: import jQuery, turn the dummy code into an ajax GET call, pass the clicked data between two pages, turn a PHP form into a JS one, add form validation, setup a POST call, debugging the regex of the phone validation from their backend team.
My scope of work: steal code from Codepen to do some drag and drop file upload and mess with the CSS to have it fit the page.
I actually train JS bootcamps and I'm sure 80% of juniors cannot do this within 4 hours. Nor would the good ones be hireable within such a short timeframe.
But it did help me keep the contract within the time I'm charging for. It was a $125 contract, so it would have been worth the price if it did half the work.
If you find yourself writing the same boilerplate multiple times there's a problem in your language or tooling or the abstractions you are using.
No, if you think this is a some reductive refutation of my position, I think you're missing the obvious point.
The issue that I've seen is that while it may shave off 15 minutes of writing code in a month, it also adds another 30 minutes of debugging code that you didn't pay attention to when using it to write the code.
For an experienced programmer, even one unfamiliar with the language I believe that its time costs will be more than writing the code themselves after anything beyond the first pass is taken into consideration.
For the inexperienced programmer, this can significantly hinder the progress of learning how to program well and while it may save 15 minutes a month, if it delays onboarding or software development skill accusation by a month or two then it is by far a net negative.
Yes, it can write boilerplate code quickly - but I've found that using the IDE that I do (Jetbrains family) between live code templates and macros and current language structures, I haven't needed to write boilerplate code in a while.
Additionally, what boilerplate-ish code I have written, tends to be only on the first pass through the code. The updating and maintaining and bug fixes for an existing code base, I haven't seen Copilot or other tools able to integrate into an a large project correctly.
If you're doing rapid prototyping... maybe it would be more useful, but writing new code all the time is a small fraction of what most developers do.
Have you actually used it? It's really easy to avoid any multi-line suggestions. In the past year+ of using it I've run into an issue that was due to generated code twice. Maybe a total of 30 minutes debugging? Compare that to the fact that it's probably saved me a couple hours of typing. And that's not even counting the "ugh what's the name of this again, lemme look it up" stuff which imo is where it really shines. That probably triples how much time its saved me
With an IDE, I know that when it auto-generates class methods/properties or auto-completes a method chain (i.e., boilerplate), it will pop out the same thing every time. With something like CoPilot, it's a mystery bag whose result changes based on what you put into it. I am all for saving time, but we can't pretend these are the same thing.
I won't try to speak for GP, but if they're anything like me, the goal is to make the things _I know I want to write_ faster (not bring in random code and hope it works). CoPilot seems like a faster Stack Overflow, but people seem to be treating it like intellisense.
Not sure if I will succeed or if it would become serious, but let's see.
Seriously though, this has made my day - the gall to ask for donations and sell merch for vaporware as well!
Here is the link for others:
https://www.youtube.com/channel/UCagk6LM-eE7VDBujQ5Nkx4w
This is not my full time project.
$10 a month is kind of reasonable given you need a cluster of GPUs to service the requests. The cheapest single GPU capable of responding relatively fast at the same performance of OpenAI is about $275/month. So basically 30 users at $10 a month just to break even on that cost. However, that GPU could probably handle only half dozen users, and 6 < 30. I could use cheaper older 1080ti but the response time/latency is going to be slower than copilot. And the electricity costs are now 4x.
I work with language models and build SaaS. If you can help me figure it out, I could build a solution for you.
The only angle I can think is charging $100-500/month, but for an ultra fine-tuned version specific to a framework tailored to a "no-code" crowd.
This kind of thing cannot succeed legally without the fair use exemption from copyright.
It may only be able to host a handful of users making requests within the same second, but there's a lot of downtime when users are not triggering inference requests – time reading code, navigating around, etc. Add to that the fact that most engineers are having meetings, writing docs, testing things, they do a lot that isn't writing code. Then you add the fact that users don't work 24/7.
Between all of this, I'd be surprised if a GPU wasn't able to handle ~hundreds to ~thousands of monthly active users.
Yes, the correct solution is to actually do the job you're paid to do. Offloading your job to a GPT-3 model sounds great in theory but the model knows nothing of the larger domain you're working in and will likely introduce significant technical debt.
Then, of course, you'll have to wrestle with the question of self-worth if you think $10/mo is "too much" to pay to literally replace your own contribution to humanity.
It would be good to provide full transparency on pricing.
If that assumption holds (we won't know for sure until some precedent multiple years down the line) then there is no violation of the copyright law even if they refuse the license.
In essence, I do not think that it is appropriate to say that "Copilot is violating licenses" because it's an open legal question whether that act is a violation or fully within their rights to do so, it is undecided at the moment, and there will be an answer to that question only after we get either a relevant precedent ruling or new legislation, both of which will take quite some time.
It is a semantic code search tool that can be queried using natural language. It provides decent answers to a variety of questions, and I've been finding myself using it quite often to "autocomplete" various mundane tasks. For example, plotting with matplotlib, making http requests in Go, running multiple goroutines, etc. - things where I would usually reach for Google. It doesn't provide a straightforward ready-to-run answer like CoPilot, but it does provide a way to help yourself. It all depends on what you prefer and how you learn. Arguably, having to read the code before you use it makes it more likely it will stick in your brain.
Why do this if you can just migrate to GitLab or Source Hut?
You’d think so, wouldn’t you? You’d think that at least Microsoft had some legal veneer to cover what they are doing. But no. They simply took “source code from publicly available sources, including code in public repositories on GitHub”¹ and used it.
1. https://github.com/features/copilot/#what-data-has-github-co...
Which style did you use? Their local version is a hog yeah, but Hybrid and Cloud work pretty well.