I asked ChatGPT4 to write a synth using juce!

About sharing code that uses JUCE:
You are still free to pick any license you like for your JUCE based project, but that doesn’t make the license of JUCE go away. Instead, the person using that 3rd party code has to adhere to BOTH licenses, the one of the 3rd party and the JUCE license.
So it is up to the person pulling your 3rd party JUCE based repository, how they want to comply with JUCE, if they GPL, use the personal license or have a paid JUCE license.

Some licenses even create incompatibilities, so there might projects that cannot legally exist.
Further reading:

1 Like

I believe there are some situations where the program in source code form is allowed, but you can’t legally build it (due to GPL dependencies)

The unfortunate fact is the cat isn’t going back in the bag, anyone and any country who restricts the technology is directly handing over power to anyone who doesn’t.

I don’t like it but that’s the reality.

3 Likes

This is true of nukes, virus engineering, firearms, and very many other things. There is risk, but the fact that it’s powerful doesn’t automatically mean no regulations at all.
They’ve kept Small Pox in the bag pretty well these last 40-some years.
I suppose, with any regulation, you can’t stop everyone, but you can make it harder to get away with.

it’s weird to compare these tools with an illness because they are really useful and everyone who uses them is actually pretty happy with them. it’s mostly the ones who refuse to try them who try to be super restrictive about it. but the licenses should serve the developers, not the other way around

This discussion went into broad and partially emotionally driven territory, eventually gathering much FUD.

First: what is the intention to ban?

  • because it seems like a bad idea and people become dumber from using it?
    That’s rubbish IMHO. Even though I share this concern, it is pointless to try to regulate it

  • because it creates unintentional breaking of licenses?
    That is a real concern. And like previous IP related battles (GEMA vs. Youtube for example), I think it is necessary to get a clear field, so a technology doesn’t make people use stuff illegaly without even knowing it.

People say, technology is not bad per se (a common argument of the NRA), I do think it can be bad per se. It needs to be done in a way, where people can use it safely and legally

1 Like

I suppose you could say that about very harmful things, too. Everyone who uses Polonium-210 is pretty happy with it. Or an AR15, ransomware, hidden bathroom cameras, etc. The story goes that early Americans used Small Pox against the natives, and were apparently pretty happy with it. So it’s not an arbitrary comparison.
I’m not saying it’s bad or I’ll never use it. I do believe its existence and further development has too many downsides to count.

i’m more on the democratizing programming side of things. by giving coding noobs code fragments from coding pros it levels up the noobs’ code and makes them progress faster. the pros might be mad about it because they spent more time and effort, ultimatively money, for it, but those now-noobs are the future-pros and some future technology will pss them off while the future-noobs enjoy it. a never-ending circle of technological advancements and all we have to do rn is make sure that licenses more or less reflect everyone’s interests, instead of mindlessly banning something, but also instead of completely ignoring the problems.

But noobs have trouble enough fixing their own code, why should they bother fixing ChatGPTs code? Just because it is available?

You learn from working examples, not from potentially working examples. Most can be learned by talking to other developers though, like here or on the discord.

1 Like

every code is potentially not-working code

every not-working code is potentially working code :grin:

5 Likes

Oh dear Gods, does that mean at some point there will be constant “I have no clue what I’m doing and this ChatGPT code won’t work, please help me fix it!” posts? :grimacing: :scream:

4 Likes

We’ve already been getting a few of those on the TAP Discord – posts along the lines of “here’s code that ChatGPT wrote that I don’t understand, and it doesn’t work, can you debug it for me?” :roll_eyes:

2 Likes

It is happening

1 Like

which wouldn’t have been a problem if these people had claimed that they found the code in some TAP tutorial or on stack overflow. only knowing that it came from chatGPT made people upset. and then everyone got caught up in discussing that instead of helping the person with the buggy code. that was not nice.

Rightly so imo. It fair to assume that code from a TAP tutorial or stack overflow meets one or both of these conditions:

• it did at some point work in the original context
• the person in question made a modicum of effort trying to stitch code together they found

The first point you could make a very laboured argument that it’s true of ChatGPT generated code, because what it learned from presumably worked in context, but it’s contrived to say the least.
The second point doesn’t even need comment.

2 Likes

a lot of times now i have read code on stack overflow after googling some problem, copied it in my own code to then find out it didn’t work exactly like i wanted it to, so i had to tweak it. but as a github copilot-user i can tell you, it is the exact same thought process as being given code from the AI and then checking if it works. you can never assume something works for you, even if it worked for someone else or when an AI said it’s cool. AI did not make this worse. it’s just still the same.

edit: actually you can even assume it got better. because when github copilot makes suggestions for my code base it does that after having read my entire existing code. so it makes assumptions based on everything that’s already there. that is like as if the people on stack overflow took the effort to read my entire project before they tell me what to do. no one is ever going to do that.

edit2: literally just watch any of my recent coding videos. copilot constantly makes spot-on suggestions. we can discuss copyright, licenses and stuff. that is definitely unresolved. but when people literally claim that the code output is not worthy to be looked at, that’s just not to be taken seriously anymore. these tools are great.

Same here. Somebody offered me a job claiming it was half done with ChatGPT. I think that this whole AI hype is making people feel that a part of our job has been automated. It may be the absolute opposite since what I find more time consuming and challenging is to help customers be concise with their ideas and ambitions. If ChatGPT was understood as a script that assembles pre-existing code with a similar context everything would be ok but I’m not sure if everybody is willing to accept that. I think some may even believe that we are luddites and we are trying to desperately justify our contributions…

4 Likes

imo ChatGPT and CoPilot are two similar but very different things, both in usage and what results they generate.

I’m using CoPilot and think it’s absolutely fantastic, at least when it gets it right. It still has a tendency to hallucinate methods or class members that make sense in the context, but don’t actually exist, either in JUCE or my codebase. Despite these limitations it’s still saving me an enormous amount of time.

1 Like

I guess that might not be the worst thing in scenarios where you could subclass and actually implement the missing methods and class members. Which makes me wonder how well a model could be optimized to detect missing parts of a framework and implement those missing parts, as a byproduct of trying to solve actual application level problems? It would be interesting to see where things led if it got really good at doing that (understanding really well what code belongs in a library/framework vs what should be in the application itself).

It seems that when these “hallucinations” (perhaps better called “confabulations” - this Ars Technica article on why these models make up stuff that doesn’t exist, very good read) reduce the accuracy of results when used as a knowledgebase or encyclopedia, it’s a bug, not a feature… but maybe if it were harnessed to drive library development, the opposite would be true.

Someone should fork JUCE and allow ChatGPT to extend whatever classes it likes while solving other problems, as an experiment to see how far it goes (I might do just that). It would be interesting to see the results after awhile, I think!

1 Like