Live data from Hacker News

Apple is patenting Swift features

forums.swift.org

161–170 of 223 posts

Re: Apple is patenting Swift features

#161

I'm having a hard time getting a clear picture what this actually entails. I am in violation if I reimplement Swift without forking the project (i.e. a "clean room reimplementation")? If I'm designing my own language, am I no longer allowed to include optional chaining? If so, I'm pretty disappointed with this direction, since it runs counter to the entire point of accessible programming languages, including many of…

Exactly this, thank you for summarizing this so well! I've tried to clarify this exact point at Swift Forums, but I haven't seen even a clarifying answer from anyone in the core team on this point. Everyone says "it protects Swift", but looks like this protection comes at a cost of the overall ecosystem.

Re: Apple is patenting Swift features

#162

I'm having a hard time getting a clear picture what this actually entails. I am in violation if I reimplement Swift without forking the project (i.e. a "clean room reimplementation")? If I'm designing my own language, am I no longer allowed to include optional chaining? If so, I'm pretty disappointed with this direction, since it runs counter to the entire point of accessible programming languages, including many of…

Exactly this, thank you for summarizing this so well! I've tried to clarify this exact point at Swift Forums, but I haven't seen even a clarifying answer from anyone in the core team on this point. Everyone says "it protects Swift", but looks like this protection comes at a cost of the overall ecosystem.

And also, "it protects Swift" in their context always means "it protects Apple's Swift" unfortunately

Re: Apple is patenting Swift features

#163

Earlier quoted context omitted.

Well, given that Rust and C# also have these features I think the likelihood that the patent is upheld is unlikely. I guess they could threaten you with it since lawyers are expensive, but it seems silly to me.

Groovy had null (optional) chaining https://therealdanvega.com/blog/2013/08/20/groovys-null-safe...

In Apache Groovy you need to write `a?.b?.c` for nullsafe chaining on both `b` and `c`. In the past, its project managers have discussed propagating nullsafety down the chain so you'd only need to write `a?.b.c` to make both `b` and `c` nullsafe, but they've never implemented it.

Not sure if that's in Rust, Kotlin, C#, or Ruby, or in Groovy's Antlr 4 parser.

Re: Apple is patenting Swift features

#165

Just to bring clarity on what has been patented on one of the patents: Monad Maybe where Nothing >>= _ = Nothing (Just x) >>= f = f x Those three lines, implementing the Maybe Monad/bind operation, are commonplace in all functional languages. (They just called it Optional instead of Maybe and "chaining" instead of "bind"/>>=) ( https://docs.swift.org/swift-book/LanguageGuide/OptionalChai... ) EDIT: The second one lin…

I've seen patents that hinged on a single line of Javascript code because it was used in a context that has never been patented before and no prior art. Not only was it submitted, but it was accepted and is a patent now.

It really means very little that a patent was granted. They do not do an exhaustive search for prior art, or validation of relevance. Until it has been litigated no one really knows which patents can survive litigation.

Re: Apple is patenting Swift features

#166

Earlier quoted context omitted.

Exactly this, thank you for summarizing this so well! I've tried to clarify this exact point at Swift Forums, but I haven't seen even a clarifying answer from anyone in the core team on this point. Everyone says "it protects Swift", but looks like this protection comes at a cost of the overall ecosystem.

And also, "it protects Swift" in their context always means "it protects Apple's Swift" unfortunately

No, it definitely applies protections to the entire Apache licensed work. People can fork it and make changes, rename the project and they will retain their patent license as long as they abide by the terms of the license.

Re: Apple is patenting Swift features

#167

Earlier quoted context omitted.

And also, "it protects Swift" in their context always means "it protects Apple's Swift" unfortunately

No, it definitely applies protections to the entire Apache licensed work. People can fork it and make changes, rename the project and they will retain their patent license as long as they abide by the terms of the license.

but what about reimplementing a compiler from scratch without reusing any of Apple's code? It wouldn't fall under a definition of Derivative Work under terms of Apache 2.0 then

Re: Apple is patenting Swift features

#168

Chris Lattner has commented on the OP: ----- Disclaimer: I'm not an apple employee and not am not lawyer, this is just my understanding of the situation having spent lots of time talking to lawyers and other experts about this: I agree with much of the sentiment that software patents are often silly and the system is broken in many ways. This patent is a reasonable example of that (patenting syntactic sugar for monad…

[deleted]

Re: Apple is patenting Swift features

#169
post #71

Earlier quoted context omitted.

Well, given that Rust and C# also have these features I think the likelihood that the patent is upheld is unlikely. I guess they could threaten you with it since lawyers are expensive, but it seems silly to me.

one thing though, in swift you can actually mutate fields using optional chaining, e.g. person?.name = "Bob". you can't do that in c#. not sure about rust but in scala you would unwrap the optional with a foreach or something.

In Groovy you can mutate through optional (null-safe) chaining, eg:

    x = [ foo: [ bar: 1] ]
    x.foo.bar // 1
    x.boo?.bar // null because x.boo is null
    x.boo?.bar = 1 // succeeds even though x.boo is null
    x.boo // still null

Re: Apple is patenting Swift features

#170

Earlier quoted context omitted.

I've seen patents that hinged on a single line of Javascript code because it was used in a context that has never been patented before and no prior art. Not only was it submitted, but it was accepted and is a patent now.

It really means very little that a patent was granted. They do not do an exhaustive search for prior art, or validation of relevance. Until it has been litigated no one really knows which patents can survive litigation.

But if you’re a company sued asking for less than what the cost of fighting would be, it’s in your interest to cut a deal.

In that case, whether the patent is valid or not doesn’t matter.

Post reply on HN