Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Are there any decent GitHub Copilot Alternatives?
59 points by gremlinsinc on Aug 19, 2022 | hide | past | favorite | 86 comments
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.




Related question: are there any alternatives which respect licenses like GPL? If I simply copy-paste code from a GPL project myself, I'm normally expected to preserve the license. It should be possible to indicate what license you're using so that you only get GPL snippets when they are to be included in a GPL project. Otherwise, you're violating the intent of the original authors and are on shaky ground legally.


Yes we at Tabnine have been at this for 7+ years and we believe that this is the current best solution. Only train on fully permissive code and then specialize those models privately for each team/org/org.


It's not about GPL. Copilot is violating MIT and many other licenses due to the attribution clause.


Currently most of the ML field is working on an assumption (untested in courts, but also not disputed in courts) that a trained model is not considered a derivative work (according to the copyright law definitions, no matter what colloquial understanding of "derivative" implies) of its source data. There also is a serious argument that the model is uncopyrightable at all (since any noncreative transformation of data is not copyrightable, and there is solid precedent stating that it is absolutely irrelevant how much effort and money the transformation took), in which case the modal simply can't be a derivative work.

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.


Did you mean "it's not only about GPL"? I said "licenses like GPL"


Has there been an actual recorded case of licence violation?


I worry that, if Copilot-like things are ultimately declared to actually be legal, that many free software developers will withdraw their source code from public view, to avoid the code being used as mere fodder for proprietary developers to annex the code without being a part of the free software community.


No need to worry, it's already happening. While I have not withdrawn anything (yet?), I stopped publishing new code to GitHub. I can't be the only one.


Does this change if the AI only uses fully permissive code? We took that approach at Tabnine and would be interested if the communities primary concern is disregard of licensing or the use of AI at all.


You could only permit it if the AI only used CC0 or Public Domain works. All other works require proper attribution, at the very least.


interesting point


> withdraw their source code from public view

Why do this if you can just migrate to GitLab or Source Hut?


why do you believe AI companies would never download code from Gitlab or sourcehut?


I assume GitHub could force you to allow Copilot to use your code for training with their terms and conditions? Whereas if it's from another source the licensing of the code has to specifically allow for commercial products


> I assume GitHub could force you to allow Copilot to use your code for training with their terms and conditions?

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...


Not really, since people quite often don't own the copyright of code they upload to GH, by design almost.


I would give https://mutable.ai a shot. They have a VS Code and JupyterLab extension. I spoke to the founder a couple of times, super smart dude :)


Small plug: if you want to try out their JupyterLab version, it’s baked into the free cloud tier of Orchest. This blog post contains more details: https://www.orchest.io/blog/mutableai-ai-coding-assistant


Thanks for mentioning us, you are too kind! We are taking a more holistic approach to Copilot (we also have documentation, custom edit mode and some early refactoring capabilities). We are also hard at work building support for larger scale changes at the codebase level.


Can you please help me understand "get started and pay later" for individual users?

It would be good to provide full transparency on pricing.


If you have time in your hand, try following this and see if it suits your needs: https://www.youtube.com/watch?v=8VyGlSKsYeo

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.


In what circumstance does Copilot allow you to not hire a junior dev? I like Copilot and find value in it at 10 dollars a month, but that's a dubious claim IMO. What Copilot does only really assists a human operator, and not in a way that meaningfully would allow anyone to reduce headcount. It's a great tool to save some round trips to google for syntax or configuration questions etc, it's unlikely to replace a person (yet...).


I used OpenAI Codex for some recent freelance work. The work was simple - upload a form in JS. When I took the job, I said I'd charge for about 4 hours of work, and they said great, they needed it tomorrow anyway. I realized I needed some help and picked up Codex.

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.


It's not a pure CoPilot alternative, but I'd put https://codesearch.ai into the mix (disclaimer, it's my side project).

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.


It looks like you used Tabnine local only model in the past (awesome for security, connectivity) if you used it in "cloud only" mode you would see much lower CPU and get longer snippets and completions. If you are with a company we are also happy to build and run all of this with custom models and in your own VPC or datacenter. Please contact us if you are interested and happy if you are also just an IC to get you Tabnine Pro. Disclosure: I am from Tabnine.


What is your hourly rate and how much do you pay for a coffee? Is 10 a month really a significant factor here?


For some open source developers, students, or hobbiests who don't have a job, yes.

Also 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


Students get 1 year of copilot for free. But it’s like heroin: once you got hooked on it, you cannot live without it.


Then it is bad heroin. I used it when it was free for quite some time, I found it useful once and nice in some other cases. I can use it now for free because I accidentally did significant open source contributions, but decided not to use it as it is not that useful in the end.


I can't find anything supporting that students only get 1 year, just a general "students get GHC for free" statement.


I'm assuming it's part of the Student Developer Pack:

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...


The way it worked for me is I went to the form to sign up, put up my college ID card up to a webcam, submit, get an automated approval about 10 seconds later, then specifically go to the GCP page and "purchase" it for free.


Tabnine has been doing this for years longer than copilot with more users and better ratings. Not a monopoly (except that MSFT has so much marketing clout). The LLM space that we build on has gotten much more diverse after MSFT bought OpenAI and closed collaboration for many industry participants including ourselves. (We used to run on GPT2 but changed to an agnostic strategy that can use any LLM when MSFT would not let us use GPT3) Take a look at the new innovation with T5 from SFDC, AI21, Google, Meta all building powerful models. Transparently we need your help in ensuring that this is not a monopoly.


Not to forget currency rate in other countries, most SaaS is charged based on USD.


This coffees just add up and then there is no more left for real coffee


also some of us are frugal and make our own coffee. probably costs me less than 7c a cup.


It's built on OpenAI Codex, which is free now, and likely to be charged on usage in the future (cheaper). It's not baked into the IDE like Copilot, but so far it's worked better than Stack Overflow at writing code.


For further context, OpenAI built GitHub Copilot in partnership with GitHub


Is OpenAI Codex free? How to access it?


Just write the code yourself, perhaps referencing public resources related to your problem and handling any license concerns appropriately. Don't needlessly risk introducing license violations into your code or supporting a tool designed to facilitate such license infringement on a mass scale.


Literally the only correct answer in this thread is downvoted, of course.

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.


How much would you pay per month, reasonable?

$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.


> However, that GPU could probably handle only half dozen users

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.


The other angle I'd really like to see is license safety. If it was possible to create a Copilot type tool trained exclusively on permissively licensed code (or even proprietary code that was licensed such that the tool subscription could include a very broad license grant) and with a business model that was willing to indemnify customers against copyright and patent claims - now that would be worth a hefty subscription fee.


You’re probably making the already-classic blunder here, thinking that the GPL is somehow special. If the license requires attribution (which almost all do), you’re stuck if the “fair use” exemption Copilot claims falls down. The quantity of public-domain or public-domain-equivalent-licensed code out there is almost certainly not enough to train such a tool (by several orders of magnitude, most likely—you can tweak an existing model with small amounts of code, but I believe generating a useful model from scratch will require a lot more than you are likely to find).

This kind of thing cannot succeed legally without the fair use exemption from copyright.


I wonder what percentage of open source code doesn't require attribution when copied


There's 3/4 and no real open source community efforts yet:

- GitHub Copilot (owned by Microsoft)

- Amazon CodeWhisperer (still in development)

- TabNine (just not there yet)

- Kite (no longer maintained)


Actually, a project called Fauxpilot came out a couple of weeks ago and seems to be gaining steam.

https://github.com/moyix/fauxpilot


There's a couple of other ones I didn't list out because they were Python-specific. Does this have broad language support?


It appears so:

[7] codegen-16B-mono (32GB total VRAM required; Python-only)

[8] codegen-16B-multi (32GB total VRAM required; multi-language)


Oh so this is actually just tricking GitHub Copilot to run on a local server...


this is nice...

Support and Warranty

lmao


I laughed at that too, but keeping in mind the MIT license clause in all caps:

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.


I am biased but the update Tabnine made in the last 6 months are very interesting.


at least say "we at Tabnine" lol


thank you you are right, I did comment in the above threads I am with Tabnine but can always do that better.


Personally I can't see the point of paying for Copilot, I'd rather spend the money on resources to expand my knowledge of the areas I'm working in - if you like I'm training my own neural net to help with coding :)


Copilot isn't designed for people that aren't knowledgeable, it's designed for people that are knowledgeable but want to write code faster. When it comes to boilerplate or unit testing, I've found copilot to be invaluable given the price. From my limited perspective if I can save 15 minutes a month with copilot, the tool has paid for itself.


> From my limited perspective if I can save 15 minutes a month with copilot, the tool has paid for itself.

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.


> 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.

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


I think a good corollary here are the intellisense functions of an IDE (e.g., JetBrains, NetBeans, etc.):

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.


Nobody truly knowledgeable would dare to suggest we should write code faster.


You're missing the obvious point, not writing code is faster than writing code. Should you default to every tab complete copilot suggests? Never. Does copilot suggest meaningful completions? Yes it does, and it's pretty good at it. No one said you should write code faster, that's just the side effect.


> You're missing the obvious point, not writing code is faster than writing code.

No, if you think this is a some reductive refutation of my position, I think you're missing the obvious point.


Spot on!

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.


I rather write things twice instead of wasting time on a cheesy abstraction that no one will enjoy reading later on. When its 3 times, I can start to think about it but it's not always worth it.


You could write your own code, not use a tool that's already been shown to automate copyright infringement.


I don't understand why the problem is copilot and not a licence management system integrated to it, so you say what licence are you using and if the code blocks are licence compatible.


> I've tried Tabnine, but it's never been that great and it's a memory/cpu hog.

Which style did you use? Their local version is a hog yeah, but Hybrid and Cloud work pretty well.


I was going to suggest trying Kite, but it seems to be unavailable at the moment. I've never used it myself but it's the only other one I know of.


Can any of these be trained on your own codebase?


Co-pilot uses the surrounding context of your code, which is often good enough to feel "trained" on your own codebase.

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()".


Tabnine can train on your codebase for you AND your team. It is secure then to only you and the team you add.


It often suggests full functions built from my own code when I'm refactoring to DRY


Yes. Actual human copilots.


Hello All, I am trying to build a libre and gratis A.I power code completion assistant https://gnughost.gitlab.io/

Not sure if I will succeed or if it would become serious, but let's see.


Uhh.. you have a shop, a bunch of stock images but... no code?


Maybe the site is a spec, intended as input for a copilot like code-generation system that will then build the actual product? /s

Seriously though, this has made my day - the gall to ask for donations and sell merch for vaporware as well!


Did you check the related Youtube channel before telling this comment?


No, but I did just now, and my comment still stands. You can note also the only comment on your most recent video calls this vaporware too.

Here is the link for others:

https://www.youtube.com/channel/UCagk6LM-eE7VDBujQ5Nkx4w


Were all software once vaporware, or did they originate before any one could think about it?


Of course, the difference being most have code or at least a working proof of concept before they start selling merchandise and asking for money. I admire your grift though!


Doesn't the video show a way how to put a crude version? Doesn't out Gitlab repo show how we plan to mine data from open source projects?


You can check out the Youtube channel and Gitlab repos, they will tell you the work I have done so far.

This is not my full time project.


I checked out your GitLab repos and yep, this is vaporware.


Wasn't all software once vaporware, or do you mean to say it got created before even anyone thought about it? :D




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: