iOS Dev Weekly - iOS Dev Weekly - Issue 605

What are the risks of using AI code generation tools? ☢️
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 605  April 14th 2023

 
Comment

  Comment  

 

I recently found this Copilot X plugin for Xcode from Shx Guo, and it set me thinking about my concerns about open-source licensing in AI-generated code again.

Before I get into it, I’ll clarify the problem. It relates to the implications of using code licensed under “copyleft” and GPL-style licenses in the training data for tools like CoPilot and other software based on OpenAI Codex. While successful prosecutions of GPL violations are rare, they are not unheard of, and the implications can be serious.

This case may set a precedent if it proceeds, but right now, nothing is clear. I’m not on one side of the argument or the other, honestly. I’m certainly not an advocate for copyleft licenses, but I respect that they exist and certainly care about the potential risks of using these tools.

I’d love to know how big companies like Apple are handling this risk. I can’t imagine any reality in which Apple has not prohibited these tools internally. Imagine if an Apple employee working on some code in iOS or macOS, and it happened to generate some amount of GPL-licensed code. No matter how slim the chance of that happening, or the even smaller chance of it being proven to create a derivative work, a company like Apple can’t risk being forced to open-source sections of their operating systems against their will. All of this is before I even consider how unhappy Apple would be at having any of their code transmitted to the tool as a prompt, but that’s not the main issue I’m talking about here.

You may read this as a solo developer or a small company and think this could never affect you. That you’re too small to be a target of this kind of litigation. You’re almost certainly correct, but imagine a few years from now, in the final stages of due diligence with a large company trying to acquire your app and the innocent question of “Was any of your code written with AI code generation?” comes up. 😳

I also have concerns over the vast amounts of unpaid and uncredited human effort being turned into yet more profit for huge companies, but again, to attempt to keep this short-ish, I won’t go into that here.

All that said, avoiding all new technology based on AI isn’t the correct choice either. The explosion of AI tools over the past year is only the beginning, and it will be really easy to be left behind. I’ve experimented with Midjourney quite a lot, and I pay for and use ChatGPT daily. I even used it as a starting point when researching this comment! Even with all of the problems with the early iterations of these tools, they are fascinating and already useful.

Should Apple be working to integrate tools like CoPilot into Xcode? Many people would be thrilled if they did, and I’m sure it’s not this licensing worry holding them back. If they don’t, how long will it be until Xcode is perceived to be falling behind, and how long before that affects the developer perception of Apple platforms? There are way more questions than answers here.

In all likelihood, it will be extremely challenging to prove the source of AI-generated snippets from such a large model, and that’s before you even get to the argument of whether code using those snippets could be a derivative work. GitHub CoPilot also has a feature to block generated suggestions that match public code, and while that’s a good feature it also feels like it acknowledges that there is a problem.

I’d just be much more comfortable experimenting with Codex-based tools if OpenAI had not used GPL-licensed training data.

Dave Verwer  Permalink

 
 

  Sponsored Link  

 

Build a functional Twitter clone using APIs and SwiftUI

Check out Stream's 7-part tutorial series on how to build your own Twitter in four days with Stream Chat, Algolia, 100ms, Mux, and RevenueCat. Get started now.

gstrm.io  Permalink

 
 
 

  News  

 

Compose Multiplatform UI Framework

I’ve written about Kotlin Multiplatform in the past, but what about Jetpack Compose, the declarative UI framework that looks and feels a lot like SwiftUI? JetBrains announced this week that the 1.4.0 release of their Compose Multiplatform UI Framework now supports iOS apps in alpha. You should give their marketing page a read if that sounds interesting.

jetbrains.com  Permalink

 
 

  Tools  

 

Copilot for Xcode Works Okay

Talking of CoPilot, Christian Tietze tried it, too.

Am I now complicit in exploiting closed-source authors whose code GitHub stole? Or GPL’ed code that is copy-and-pasted without attribution and without GPL’ing my own code, thus violating the license?

He has similar concerns to me. I read his post after writing the comment above, but he could not have timed this post better!

christiantietze.de  Permalink

 

Filter Xcode's Project Navigator to only show modified files

I don’t use Xcode to interact with git, but that doesn’t mean all of the source control features are useless to me. This is a great tip from Jesse Squires.

jessesquires.com  Permalink

 
 

  Code  

 

Canopy for CloudKit

Here’s Jaanus Kase with the announcement of Canopy, a wrapper around the CloudKit APIs that seems to focus primarily on testing. Testing your CloudKit storage has never been particularly easy, so this might solve some problems for you. 👍

justtact.com  Permalink

 

What I Learned Writing My Own CloudKit Syncing Library

Here’s more CloudKit syncing talk! This time from Ryan Ashcraft, who has been working for the past two years on CloudSyncSession, a CloudKit sync library that does not have a hard dependency on Core Data. The blog post is comprehensive documentation, too.

ryanashcraft.com  Permalink

 

Mastering Canvas in SwiftUI

We’ve not had any SwiftUI articles this week! So, let’s fix that with Majid Jabrayilov’s take on SwiftUI’s Canvas, including a section about combining Canvas and TimeLineView to allow animation!

swiftwithmajid.com  Permalink

 
 

  Business and Marketing  

 

Phased Releases

The phased releases feature of the App Store is great, but you don’t see it talked about much. Stuart Wheelwright changed that this week by writing up how and why he uses it.

shoppingukapp.com  Permalink

 
 

  Jobs  

 

Apple Platforms Developer @ Cascable AB – Cascable is a small "indie" company based in Stockholm, Sweden. This is the job for you if you love working with and learning about multiple technologies. We have UIKit, AppKit, SwiftUI, and Swift-on-the-Server (Vapor) across our suite of products, and you'll be working with all of them! – On-site (Sweden) with some remote work (within European timezones)

Senior iOS Engineer @ Reveri – We’re looking for an experienced, adaptable, and engaged Senior iOS Engineer looking to make a genuine positive difference in our member’s lives through self-hypnosis. 100% SwiftUI codebase, iOS 15+, Combine, and Concurrency. Small team, 3 iOS, 2 Android Engineers, every role has impact. – Remote (within European timezones)

SwiftUI and TCA Developer @ MFB Technologies, Inc. – We make Align, an enterprise platform used by top trial lawyers. Looking for a motivated dev to join our iOS team and help us add new features and integrations to our iPad client. The client app is written entirely in SwiftUI using The Composable Architecture (TCA) framework. U.S. residents only. – Remote (within US timezones)

 Permalink

 

Are you or your company hiring? You know where to click to list your open positions for free!

 Permalink

 
 

  And finally...  

 

Who else believe’s that Swift’s boolean type when being initialised from a String should also convert YES to true? Until then, we have this. ❤️

 Permalink

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 

RSS

 
©2023 iOS Dev Weekly | Privacy Policy | Mastodon | Twitter | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 604

Friday, April 7, 2023

Did you win a golden ticket? View on the Web Archives ISSUE 604 April 7th 2023 Comment Congratulations if you received a golden ticket to the show! I'd have loved to be there this year, but again

iOS Dev Weekly - Issue 603

Friday, March 31, 2023

Dub dub dee ceeeeee! 🎉 View on the Web Archives ISSUE 603 March 31st 2023 Comment This week's announcement of WWDC snuck up on me a bit. Is it that time of year already? Yes, it is, and as I am

iOS Dev Weekly - Issue 602

Friday, March 24, 2023

Some big news for the Swift Package Index 🚀🎉😳 View on the Web Archives ISSUE 602 March 24th 2023 Comment Note: Before starting this week's intro, I want to emphasise that I am not an impartial

iOS Dev Weekly - Issue 601

Friday, March 17, 2023

When does consistency *truly* matter? 🤷‍♂️ View on the Web Archives ISSUE 601 March 17th 2023 Comment It doesn't all need to look the same. I'm sure I'm not the only person mildly

iOS Dev Weekly - Issue 600

Friday, March 10, 2023

What do you get if you push a button six hundred times? 🤷‍♂️ View on the Web Archives ISSUE 600 March 10th 2023 Comment If you told me I had to sit at my desk and push a button 600 times, you'd

You Might Also Like

Data Science Weekly - Issue 579

Thursday, December 26, 2024

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

💎 Issue 449 - JRuby with JBang

Thursday, December 26, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 449 Release Date Dec 26, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 449 - JavaScript Benchmarking Is a Mess

Thursday, December 26, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 449 Release Date Dec 26, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 443 - EU asks for views on plan to force Apple to open up iOS

Thursday, December 26, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 443 Release Date Dec 26, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 442 - SOLID: The Liskov Substitution Principle (LSP) in C#

Thursday, December 26, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 442 Release Date Dec 26, 2024 Your weekly report of the most popular .NET news, articles and projects

Daily Coding Problem: Problem #1649 [Easy]

Thursday, December 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Spreadsheets often use this alphabetical encoding for its columns: "A

JSK Daily for Dec 26, 2024

Thursday, December 26, 2024

JSK Daily for Dec 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Performance Optimization in React Pivot Table with Data Compression The Syncfusion React

📱 Issue 446 - Fatbobman's Swift Weekly #063

Thursday, December 26, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 446 Release Date Dec 26, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 444 - Four limitations of Rust’s borrow checker

Thursday, December 26, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 444 Release Date Dec 26, 2024 Your weekly report of the most popular Rust news, articles and projects

💻 Issue 367 - React 19: A New Era of Web Development

Thursday, December 26, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 367 Release Date Dec 26, 2024 Your weekly report of the most popular React news, articles and projects