Live data from Hacker News

Ask HN: I wrote a Slack compatible server. Can I open source it?

news.ycombinator.com

31–40 of 59 posts

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#33

Earlier quoted context omitted.

Can't they use something trademarked in the api? for example you have to send 'Slack chat connect' to connect the api so open source stuff can't connect without violating their trademark?

This is something Apple does in their 'DSMOS' (don't steal Mac OS X) code (but they use copyright, not a trademark). Mac OS X looks for a set of firmware variables containing a non-formatted version of following haiku (reproduced for the purpose of artistic comment): our hard work by these words guarded please dont steal © Apple Computer Inc If you shipped a transparently Mac-compatible x86 machine, you'd have to inc…

Serious question: if I made a computer with the purpose of booting Mac OS X, noticed that it aborted after trying to read some bytes from the firmware, then wrote a program to iteratively test longer and longer sequences, would I be committing copyright infringement? What if I never look at the output of the program as text, but only as hex values?

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#34
post #15

Earlier quoted context omitted.

A blackbox implementation (no access to original source code) is clearly ethical. The purpose of an API is specifically to allow interoperability with software that you don't write; the presence of a competitor (open source or not) who re-implements the server side of your API is a Good Thing for a competitive market place.

to extend on that idea, I'm fairly certain that a "clean-room" reverse engineering of a competitor's product HAS been shown to be legal. That is to say, as long as you can prove that the person(s) doing the reverse engineering didn't have any access to proprietary information about the workings of the product they were reverse engineering.

The classic example is the reverse engineering of the IBM BIOS for 'IBM compatible' machines. And it was done with 2 teams, one analyzing and one implementing.

But that predates my existence :-)

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#35
In general, re-implementing a software product from open specifications has been protected by the courts. There are numerous examples, from the original IBM BIOS to Microsoft BASIC to PostGres and BSD Unix. That said, the Google case is casting a shadow on programatic APIs, but 'look and feel' are essentially fair game.

What are protected and protectable are Trademarks. So using the word 'Slack' in the name or anything that looks like it came from the Slack web site (see the recent "Open Trello" flare up) will cause you legal issues and should be avoided entirely.

The most interesting "middle" case is if you want to host third party integrations which work on your system and Slack's then you're going to get some push back. But again, caveat things like patents, being enough workalike (or my favorite phrase bug-for-bug compatible) is well trodden and has consistently been shown to be ok. (see the latest Keurig fiasco for that!)

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#36
post #11
post #8

Earlier quoted context omitted.

>APIs themselves aren't copyrightable, as we saw in Google's recent lawsuit. The most recent ruling said that APIs, by themselves, are copyrightable[0]. The case is back to the district court now to determine whether the wholesale copying and reimplementation an API falls under the fair-use defense. [0] https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google...

Depressing indeed. Are there any other open source projects that are API compatible with a proprietary product/service? Is it ethical? I feel like it is but would be interested to hear HN's opinion.

Linux is a reimplementation of proprietary Unix interfaces.

WINE is a clone of the Windows API. ReactOS is another one.

Also, we should include implementations of software that encodes or decodes data formats, such as audio/video/image codecs. There are numerous examples of free implementations of software that works with proprietary formats, which are analogous to a proprietary API.

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#37

Earlier quoted context omitted.

Can't they use something trademarked in the api? for example you have to send 'Slack chat connect' to connect the api so open source stuff can't connect without violating their trademark?

This is something Apple does in their 'DSMOS' (don't steal Mac OS X) code (but they use copyright, not a trademark). Mac OS X looks for a set of firmware variables containing a non-formatted version of following haiku (reproduced for the purpose of artistic comment): our hard work by these words guarded please dont steal © Apple Computer Inc If you shipped a transparently Mac-compatible x86 machine, you'd have to inc…

If GNU is copyleft, is this then copy far right?

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#38
post #33

Earlier quoted context omitted.

This is something Apple does in their 'DSMOS' (don't steal Mac OS X) code (but they use copyright, not a trademark). Mac OS X looks for a set of firmware variables containing a non-formatted version of following haiku (reproduced for the purpose of artistic comment): our hard work by these words guarded please dont steal © Apple Computer Inc If you shipped a transparently Mac-compatible x86 machine, you'd have to inc…

Serious question: if I made a computer with the purpose of booting Mac OS X, noticed that it aborted after trying to read some bytes from the firmware, then wrote a program to iteratively test longer and longer sequences, would I be committing copyright infringement? What if I never look at the output of the program as text, but only as hex values?

IANAL, but speaking generally, the courts seem to take a dim view at technical workarounds, and instead focus on the actual intention and result.

In this particular case, I believe what you would have produced would be classified as a "circumvention" device under the DMCA (https://en.wikipedia.org/wiki/Anti-circumvention).

The state of "IP" law makes me very sad.

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#39
post #18
post #14

What technologies did you use? XMPP? Node? ... I don't think your are infringing any copyright as long as you are not making profit from it. Reverse Engineering is legal, specially when done with the aim of interoperability... and what you are seeking is an interoperable server right? http://en.wikipedia.org/wiki/Reverse_engineering#Legality

Ah, interesting question. I had never implemented a chat server before and initially read the IRC/XMPP specifications but Slack felt like a "superset" of both (federation/p2p wasn't a priority for me) and I was more familiar with web protocols. The stack is Node.js and PostgreSQL (I probably reinvented some kind of message queue). There is a "dumb" websocket server that just receives/sends events from/to the backend…

Fun. From everything noted about Slack, thats all they've got as their 'core' as well (PHP/MySQL I think, with maybe nodejs websockets).

Re: Ask HN: I wrote a Slack compatible server. Can I open source it?

#40

Earlier quoted context omitted.

Can't they use something trademarked in the api? for example you have to send 'Slack chat connect' to connect the api so open source stuff can't connect without violating their trademark?

This is something Apple does in their 'DSMOS' (don't steal Mac OS X) code (but they use copyright, not a trademark). Mac OS X looks for a set of firmware variables containing a non-formatted version of following haiku (reproduced for the purpose of artistic comment): our hard work by these words guarded please dont steal © Apple Computer Inc If you shipped a transparently Mac-compatible x86 machine, you'd have to inc…

Sega tried this to prevent third party games from running. It didn't work: because their string was required for functionality, it wasn't protected by copyright. See http://en.wikipedia.org/wiki/Sega_v._Accolade for details.
Post reply on HN