Anyone know about similar but open-source projects that do code completion (or assist in some way) upon training on stackexchange data?
AI assisted code completion for C++
11–20 of 34 posts
Re: AI assisted code completion for C++
#12> IntelliCode uses machine learning to train over thousands of real-world projects including open-source projects on GitHub. Is it legal to use a bunch of open-source projects in what looks like a proprietary plugin?
Depends on the licenses of said projects. It's pretty easy to whitelist MIT/Apache licensed code. Even still, it's unclear whether an abstract machine learning model that "saw" copyrighted IP during the training process is infringing on said IP. A self-driving car sees many billboards during test rides.
Re: AI assisted code completion for C++
#13Re: AI assisted code completion for C++
#14I’ve found code autocompletion to be particularly troublesome and hindering on large legacy code bases, where the suggestions not only prevent you from quickly typing out the method, class, etc. that you were trying to type, but also add a hindering layer of misdirection to trying to learn the architecture and code layout and form a mental model of the code organization.
Code autocompleters have only ever been pure waste to me, across a wide range of projects of various ages, states of code complexity, states of maintenance.
Re: AI assisted code completion for C++
#15I despise code autocomplete features. I could not stand using Jedi in Emacs. It just slows me down way too much to have to interact with an autocompleter. I’ll never understand why anyone would want this. I’ve found code autocompletion to be particularly troublesome and hindering on large legacy code bases, where the suggestions not only prevent you from quickly typing out the method, class, etc. that you were trying…
Re: AI assisted code completion for C++
#16Earlier quoted context omitted.
Depends on the licenses of said projects. It's pretty easy to whitelist MIT/Apache licensed code. Even still, it's unclear whether an abstract machine learning model that "saw" copyrighted IP during the training process is infringing on said IP. A self-driving car sees many billboards during test rides.
Those licenses still require you to display acknowledgements, copies of the original license, disclaimers etc.
When you include the source code in a project? Or distribute binaries created in whole or in part from the source code?
The licenses say exactly what the requirements are, and when you are obligated to follow those requirements. What do they say about training AI models on the code?
Re: AI assisted code completion for C++
#17> IntelliCode uses machine learning to train over thousands of real-world projects including open-source projects on GitHub. Is it legal to use a bunch of open-source projects in what looks like a proprietary plugin?
Depends on the licenses of said projects. It's pretty easy to whitelist MIT/Apache licensed code. Even still, it's unclear whether an abstract machine learning model that "saw" copyrighted IP during the training process is infringing on said IP. A self-driving car sees many billboards during test rides.
Re: AI assisted code completion for C++
#18Bad for interview practice.
Re: AI assisted code completion for C++
#19Earlier quoted context omitted.
Those licenses still require you to display acknowledgements, copies of the original license, disclaimers etc.
They require you to do that when? When you include the source code in a project? Or distribute binaries created in whole or in part from the source code? The licenses say exactly what the requirements are, and when you are obligated to follow those requirements. What do they say about training AI models on the code?
How exactly is that different from what's happening here?
Re: AI assisted code completion for C++
#20However, the fact that this thing works so well, says a lot about the design of C++ standard library. They should have encapsulated the pair of iterators into a single structure, and implement implicit casts from vectors/arrays to that object. Requiring to type begin/end every single time is counterproductive.