Live data from Hacker News

Facebook Go Libraries

github.com

61–70 of 98 posts

Re: Facebook Go Libraries

#61
post #60
post #41

This is the first time I see a patent file in an open source project [1] and now I know I won't use this until my lawiers take a look at it. Sad world... [1] https://github.com/facebookgo/runcmd/blob/master/patents

Why is it sad? If you're big enough to have lawyers on the payroll, it doesn't take that much effort to have them take a look. If you're not big enough, then it probably doesn't affect you anyway.

> If you're not big enough, then it probably doesn't affect you anyway.

How so?

Re: Facebook Go Libraries

#62
post #36

Earlier quoted context omitted.

It does not change semantics. If it does in some case, that's a bug and please report it. Edit: I see, import order can affect the order that the init()s in different packages are invoked, presumably. I stand corrected. Edit 2: But that should not matter since the language doesn't specify any dependence on that.

no, the order is unspecified, so it shouldn't be relied upon. The only order enforced is that imported packages are initialized before the package itself.

In fact, you should be glad that "go fmt" exposed the fact you were relying on something that you should not have. Better to find a bug sooner rather than later, and relying on implementation details of your particular language implementation is a bug.

Re: Facebook Go Libraries

#63
post #46
post #41

This is the first time I see a patent file in an open source project [1] and now I know I won't use this until my lawiers take a look at it. Sad world... [1] https://github.com/facebookgo/runcmd/blob/master/patents

Well, if you read the file you'd see that it's a grant of rights to use this software regardless of any patents Facebook has that may apply to said software. It looks to be more or less the same as the relevant clause in the Apache 2.0 license that says "you can use our patents but if you sue us your right to use this software is automatically revoked."

"Well, if you read the file you'd see that it's a grant of rights to use this software regardless of any patents Facebook has that may apply to said software.

It looks to be more or less the same as the relevant clause in the Apache 2.0 license that says "you can use our patents but if you sue us your right to use this software is automatically revoked." "

It 100% is not the same as Apache.

1. If you challenge any facebook patent's validity, at all, you lose the right to use the software. Apache has no such clause. (This is the "(b) that any right in any patent claim of Facebook is invalid or unenforceable.")

2. Apache is a tit for tat clause (for lack of a better term). If you have apache licensed software X, and sue someone about patents in X, you lose any granted patent rights to X. You keep rights to other software.

In Facebook's wording, if you have facebook software X, and sue Facebook about software Y, you lose granted patent rights to X.

The breadth is not the problem though. I'm perfectly fine with folks trying to prevent others from suing them.

However, this broad clause also applies to counter claims.

So if facebook sues you, and you counter claim, at all, you lose patents rights to all facebook software.

I actually know they have their good reasons to want to do this, but it is not a simple "you should feel good about this" type of situation.

Re: Facebook Go Libraries

#64
post #59
post #49

Earlier quoted context omitted.

...and the Apache 2.0 license belongs to a short list of licenses that have been extensively reviewed and can be trusted. Every time someone comes up with a new license, the review work must be redone to ensure it respects the philosophy of Open Source. Which is why I prefer project published under well-known licenses (GPL2/3, LGPL, Apache, Mozilla, BSD, ...).

The package in question is licensed under BSD 3-clause license. I'm guessing the patent file is included as well to cover their bases.

BSD is generally viewed to have an implied patent license. The patent file is usually there to give you a different set of rights than you would have gotten, be it good or bad (and i've seen both :P)

Re: Facebook Go Libraries

#65
post #41

This is the first time I see a patent file in an open source project [1] and now I know I won't use this until my lawiers take a look at it. Sad world... [1] https://github.com/facebookgo/runcmd/blob/master/patents

While you're at it, have them look at https://code.google.com/p/go/source/browse/PATENTS as well.

Re: Facebook Go Libraries

#66
post #40
post #4

Earlier quoted context omitted.

Or better, we should save source code files replacing tabs with spaces. That's the best practice that makes everybody happy.

Why? n spaces encode a specific preference for indentation, while tabs just represent a level of indentation. How many columns these actually are is entirely up to personal preference and editor configuration. That's why tabs are always superior for indentation.

It's actually quite a bit more subtle than that. Even `go fmt` uses tabs to format indentation, but uses spaces to format alignment. This is distinct from mechanical typewriters which used variably sized tab-stops to handle tab alignment.

Re: Facebook Go Libraries

#67
post #19

Earlier quoted context omitted.

> and the only reason for it to be four columns is that you personally find it hard to read Yes, it was just a personal opinion.

But not personal enough not to be the basis for an argument about what github should do to display Go code.

[deleted]

Re: Facebook Go Libraries

#68
post #19

Earlier quoted context omitted.

> and the only reason for it to be four columns is that you personally find it hard to read Yes, it was just a personal opinion.

But not personal enough not to be the basis for an argument about what github should do to display Go code.

What are you arguing about exactly? Am I not allowed to think Github should display them as 4 columns?

Re: Facebook Go Libraries

#69
post #12
post #3

Looks more like Naitik Shah's open-source libraries.

I wonder why these aren't under the main facebook account ( https://github.com/facebook ) o_O?

It gives them more freedom in package names. It's nice when a package name is the same as the last element of the URL, and that URL's reasonably short. And you repeat the package name whenever you use an identifier from the package, so it's good if it's 1) short, and 2) if possible makes the full identifier read nicely à la counting.Reader.

With their own GitHub username, they can just use whatever word they want for the package name (tool, counting, stack, subset, grace, inject) without risking a collision with other Facebook projects.

Re: Facebook Go Libraries

#70
post #44
post #39

Earlier quoted context omitted.

The name of the language is Go, not Golang. This is a collection of tools and libraries for Go that Facebook has developed. I don't see any compiler, though one of them wraps the Go tool that is used to compile Go programs.

I've been working with go for the past year, and let me tell you - golang is king when it comes to google's own search engine queries. You're right it's not the proper name that the go language team at google assigned, but it's certainly the colloquial (and notably more unique) one.

I don't see that it is the colloquial name of the language even if people sometimes search for it. In conversation, AFAIK it tends to be called Go. For example, look through the golang-nuts mailing list and count how many people say "Go" versus "Golang" when not referring to the website or mailing list.
Post reply on HN