Dotscience is shutting down - <AUTHOR> https://dotscience.com/blog/2020-05-19-dotscience-is-shutting-down/ <comment><AUTHOR> CEO here. Happy to make introductions to the team for anyone who is hiring. We have valuable residual knowledge about building a product in the MLOps platform space and achieving product-market fit, and I hope that this might be helpful to someone else.

<comment><USER2> I cannot imagine shutting down a company with a team. Must be really hard. Your note was refreshingly succinct, with genuine thank yous to the people that helped.

I don't have any advice or anything, just wanted to let you know that anyone that has ever tried something and failed understands how painful it is, and everyone else won't. Best of luck to you and your team as you all move forward.

<comment><AUTHOR> Thank you

</comment></comment></comment><comment><AUTHOR> Btw [https://mlops.community](https://mlops.community) (which we started) will live on, Demetrios, Chris and Dan are kindly keeping it running

If you're interested in MLOps, come and join our weekly 9am PT / 5pm UK Wednesday online meetups - it's a great community and it's growing quickly - and now it's vendor neutral too :)

</comment><comment><USER3> I appreciate how this was handled on the homepage: direct and looking out for your team.

<comment><USER4> > on the homepage

What do you mean by this? I don't see any indication of them shutting down on the homepage, only on the blog.

<comment><USER5> I got this popup from their homepage:

> _Dotscience_

> _Thanks for checking out dotscience, unfortunately due to the current > situation we have had to close our doors and are no longer operating. You > may however enjoy checking out the MLOps community to find out more about > all the tooling and best practices happening right now in this ever changing > landscape._

> _Here are some relevant links to the MLOps community: Slack, Youtube, Weekly > meetups._

<comment><USER4> Huh, that's interesting. I even tried a private browsing window without any form of blocking, but I don't get a popup at all.

<comment><USER6> I got the pop-up but only on the first visit to the home page. Subsequent visits or a refresh do not trigger the pop-up. Firefox on Win. Noscript set to temporarily allow all.

</comment></comment></comment></comment></comment><comment><USER7> Thoughts on how the economic situation will affect machine learning and data science in industry more generally?

<comment><USER8> If AI/ML was just part of R&D then it's likely to get downsized or cut as companies refocus on their core products. If AI/ML _is_ or _is meant to be_ powering the core products or services, eg at banks, retailers, and manufacturers, then those teams are actually more important than ever. Because ML usually reduces labor and overhead, so the faster they can get it into production the faster they'll lower their operating expenses.

The challenge for dotscience was that there are _so many_ players in this space that it's hard to stand out and win deals. See: [https://zdnet3.cbsistatic.com/hub/i/r/2019/07/17/b17497a0-84...](https://zdnet3.cbsistatic.com/hub/i/r/2019/07/17/b17497a0-844e-42b7-9dde-9020902c0b46/resize/1200xauto/bb71fe6d39deaa6ae7f0d06ce64cc841/big- data-landscape-2019-v7.png) (These landscape charts are always made to look complicated on purpose, but the point is clear.)

</comment></comment><comment><USER9> It's really revealing that such amazing companies on paper...just don't make money at all and have to resort constantly to outside money to stay alive.

<comment><USER10> Your comment is worded in a slightly mean way, but I don't disagree. I work on autonomous 3D navigation. Clicking on their "Autonomous Vehicles" solution I see:

\- model management solutions

\- enormous quantities of data

Well, I have docker containers for my data, and docker containers for the underlying TensorFlow versions, and docker containers for model source code that went into large-scale training. All of that is coordinated using a git repo which has some shell scripts to execute the correct model with matching data on a compatible TF image. So if someone says "I need you to re-run last week's model", I check out the script from that time and run it on an empty server.

I honestly don't get what MLOps is or why I would need it.

<comment><USER11> How many other ML people do you work with? Do they all use the same system? Are you only working with Tensorflow and no other tools?

Generally things like MLOps are targeted at providing systems for people that either don't know how, or don't have the time, to set something up themselves, especially when the data science team is more than just one or two people, and when they're using a range of tools that need to interoperate in various ways.

Something like Kubeflow, for example, does a lot more than what you describe.

<comment><USER10> 2 others, and yes, everyone has access to the central git repo and to our shared private Docker repository.

And no, we use TensorFlow and Chainer, but both are python frameworks. Plus Numpy, of course.

I like that KubeFlow has an introduction video, but I find it quite odd, too. They talk a lot about how they will make things simpler, but then I learn that I'll need to run Kubernetes on my laptop, my servers, and potentially the cloud.

Plus they use irritating marketing phrases like "you can just focus on your model" or "let KubeFlow handle the abstraction of running on X". Most deep learning models nowadays are memory-limited, so improving the model may well mean optimizing GPU memory usage. And after trying to port a working model from Ubuntu + 1080 TI to Google Cloud + V100 and/or Google Cloud TPU, I distrust anyone who would treat those significant hardware differences as "just an abstraction".

So at the very least, I'll need to enforce consistent GPUs and Operating Systems among all servers, just to make things run OK everywhere.

<comment><USER12> So ML ops is just part of a solution, which I think is the reason why it is a hard to sell.

What I think might work is auto ml combined with models ops, or rather auto model ops.

Or even better: auto data managmenet -> auto pre-processes -> auto ml -> auto ops.

<comment><USER10> I think a service that rents out GPU-equipped bare metal Ubuntu + Docker servers by the hour would be what I'd want to use.

If they also offer a private Docker repo, fast S3-compatible storage and some pre-built images with Jupyter preinstalled, that might be the entire ML pipeline that I need.

</comment></comment></comment></comment></comment></comment><comment><USER13> How will this affect the MLOps Community Webinars? Afaik dotscience plays a big role supporting it.

It's a good and vibrant community, and I'm learning a lot from the webinars as a practitioner. It'd be sad to see if it goes as well

<comment><USER14> The community and webinars will still live! :-) Demetrios ([https://dots.ci/demetrios/linkedin](https://dots.ci/demetrios/linkedin)) will continue to coordinate this.

</comment></comment><comment><USER15> Oh, man. That's really unforunate.

How will this affect dotmesh?

<comment><AUTHOR> Dotmesh will remain open source and as the original author I'm happy to help maintain it. Are you using it or interested in using it?

<comment><USER15> Interested in using it. I've kept an eye on dotscience and dotmesh for quite some time. At work, we've only very recently ramped up Data Science and ML to a point where tools like these would be really helpful.

I loved all the demos of dotscience I've seen at conferences. I'm saddened that we'll never get to try it, but glad to see that dotmesh will live on!</comment></comment></comment>


The female mathematician who changed the course of physics and couldn't get a job - <AUTHOR> http://arstechnica.com/science/2015/05/the-female-mathematician-who-changed-the-course-of-physics-but-couldnt-get-a-job/ <comment><USER2> [https://news.ycombinator.com/item?id=9606497](https://news.ycombinator.com/item?id=9606497)</comment>


THE REAL PROBLEM WITH THE COMCAST MERGER - <AUTHOR> http://www.newyorker.com/online/blogs/elements/2014/02/the-real-problem-with-the-comcast-merger.html?utm_medium=App.net+Broadcast&utm_source=PourOver

<comment><USER2> I assume it's the use of all capital letters in your title.</comment>


Tell HN: Google just updated the page rank for all sites - <AUTHOR>

It looks like Google updated the page rank.<p>How did everyone do? I went from 0 to 5 :) <comment><USER2> Vaskel, what's your site?

<comment><AUTHOR> <http://styleguidance.com>

<comment><USER3> I totally expected this to be about best practices for code indentation and stuff like that.

<comment><AUTHOR> if I saw the domain, I'd probably think it was a CSS resource site

<comment><USER3> You're...mocking me, aren't you.

<comment><AUTHOR> hehe, no..just seeing where you were coming from</comment></comment></comment></comment></comment></comment>


Yes, And – How to be effective in the theatre of work - <AUTHOR> https://tomcritchlow.com/2019/11/18/yes-and/ <comment><USER2> Author here - thanks for all the comments and feedback. Lovely surprise to wake up to this on the HN homepage.

Some light additional context - this is part of my ongoing series "The Strategic Independent" which will eventually become a book sometime next year. All the posts in that series are catalogued here: [https://www.are.na/tom- critchlow/the-strategic-independent](https://www.are.na/tom-critchlow/the- strategic-independent)

This post (and the whole series) is designed for independent consultants, free-agents and freelancers who have to navigate entering and exiting client environments often faster than full-time employees. Hopefully there's something useful in that context but many of these ideas could be applicable beyond that also.

Anyway - thanks for the love. If you have topic suggestions for future posts in this series would love to hear them! Thanks, Tom.

<comment><USER3> > Hopefully there's something useful in that context but many of these ideas > could be applicable beyond that also.

They're very applicable outside the context of consulting - they're fundamental for any leader joining a new organization to integrate well and get things done. Consultants transition more often than most; the principles you've shared are a great reference for the rest of us on how to be effective in a new environment.

</comment></comment><comment><USER4> As someone who has studied improv for three years, and read both of Keith Johnstone's books numerous times, I highly recommend reading Johnstone's books specifically, rather than this. It's true that improv is immensely useful in the workplace. However, this article has very little that references Johnstone; it seems to be taking the high level, general understanding of improv as a jumping off point for their own advice. Their chapters to follow do reflect some of the topics Johnstone covers, but again, I highly recommend just reading Impro and/or taking a couple improv classes at your local school if you can. Getting it straight from the source will be incredibly helpful in your work and personal life.

<comment><USER2> Author here - Yes I would _definitely_ recommend reading Impro over reading my blog post.

The basic premise for this series is inspired by the book and I definitely borrow more directly and heavily for chapters 3 and 4 (which aren't quite ready to publish yet!).

</comment></comment><comment><USER5> « Many people aspire to "silent success" at work - to do work that "speaks for itself". Unfortunately this is the wrong move in the theatre of work. Instead we should aspire to the opposite - for knowledge work, the performance of the work is the work. »

Not sure what the author means by "knowledge work", but I find this very true, for any type of work.

<comment><USER6> Furthermore, work doesn't speak so you'll have to speak for it. And defend it. And sell it.

<comment><USER7> While writing embedded code I realized a major problem with code relative to the rest of the product. You can't see it, can't touch it, and it doesnt appear on the bill of material. To most people it doesnt even exist. This would be somewhat different if your product IS software, but the same still applies to the actual code - the author is the only one who will ever _see_ what they wrote.

<comment><USER8> Count your blessings. My job involves typically big pieces that are visible to anybody who looks under the hood. And they are often expensive custom pieces, so it's painful to add or modify one.

When stuff is visible and tactile, folks assume that they should intuitively understand it. So my work is subjected to endless critique and brainstorming from everybody, including managers.

Sometimes I envy the embedded systems people because nobody ever looks at the innards of their designs.

<comment><USER7> >> Sometimes I envy the embedded systems people because nobody ever looks at the innards of their designs.

True, but the flip side is that nobody understands the complexity. Some will assume it must be easy, especially if you keep quiet about the challenges and just deliver mostly good stuff.

To your point, I was working on a hybrid system and one meeting dragged on because marketing was upset that the font was changed on the inverter. It was machined into the case, and they couldn't make the sharp interior angles needed. So yeah, even when you can see it, there may be hidden complexity.

</comment></comment></comment></comment></comment><comment><USER9> Yes, once some workers start using social tools to advantage themselves and their work, it does become mandatory to use them too. The incentive is then to escalate and invest more in social machinations.

And be endlessly positive about everyone and their ideas so that only positive feelings are associated with you. Choose your favorites by directing attention and investment. Ignore the unkept promises or implications since they will be to the less popular people and projects which are inherently less powerful.

May all bullets be directed to backs and all knifes sheathed likewise.

There is some importance to keeping a pleasant and encouraging workplace but some of us value honesty and straightforwardness as well as the efficiencies that go with these practices. These require real work however.

<comment><USER10> Hard pass but have at it.

</comment></comment><comment><USER11> A lesson I found helpful is with regards to the need to build a network of mentors, supporters and followers. This won't apply to all fields but maybe some people will find it helpful.

Mentors are people who you can go to when you're stuck on a topic, regardless of what it is. They help you navigate through your org (politics, context behind decisions, etc). These people can be in your team/department or could just be someone you've met by the water cooler and developed a relationship with.

Supporters are similar to mentors, but more committed. These people will take their own initiative and go out of their way to create opportunities for you. They consider your success as a part of their own success and therefore will do what they can to help you grow and develop.

Followers are people who you've either worked side by side with, or who have worked for you. You may take on the mentor or supporter role for them. If you switched teams or departments, these people would want to come with you.

<comment><USER12> Do you know of a good guide to building a single relationship with a mentor? It is something I have been trying to do for the past 8 years.

I suspect that the advice I need is "obvious".

</comment></comment><comment><USER13> The "Yes, And" technique is best when presenting as a team, e.g. for sales meeting or investment pitch. It supports what your colleague is saying even while you may need to make a correction. I've been automatically using this technique for years, since I have a performance and improv background.

The rest of improv may not be as applicable, but performance sure does! The show must go on (despite unexpected setbacks or illness or personal feelings), how to speak in front of crowds (even while being ridiculed or ignored), being fully prepared through scripts and rehearsals until you embody the story you are trying to tell... Is an integral part of leading startups and I credit much of my success to that experience.

If everyone on your team is fully embedded in the purpose and ethos of your story, than you can fill in for each other if someone drops a line or needs a stand-in. In a startup everyone is selling! And it will be much more authentic with this level of camaraderie and committment.

<comment><USER14> I see its value when mostly in agreement. Keeps the flow going.

But how does one do "yes, and ...", when the previous statement is clearly wrong? You either sound sarcastic or like a patronising twat.

"It is snowing." "Yes, and I'll leave my sweater at home since it's rather warm outside."

<comment><USER15> In an actual scene, you also have an underlying set of game rules guiding it which the actors are negotiating through.

It is possible for the characters to disagree with each other if it's not _blocking_ \- it allows the scene to continue to develop instead of shutting it down. In this case, disagreement over the weather would become the focus of the action.

"It is snowing."

"Oh, what a kidder you are, Smith! Just look at the shorts I'm wearing, it's fun in the sun time."

"Jones, my breath is visible. You are clearly on a different planet from me."

"Well, as it so happens, I AM an alien!" _pause for laughter_

\--

And yes, there's a limit to the method when in a business setting. Business machinery is set up to grind out ugly, practical compromises and can't inject fantasy into the equation like that very often in the lower branches of the org, but it often benefits from this creativity when we're talking about executive leadership figuring out what the org needs to look like to succeed in the future.

<comment><USER16> > "It is snowing." > "Oh, what a kidder you are, Smith! Just look at the > shorts I'm wearing, it's fun in the sun time."

That's almost a textbook example of the opposite of Yes And philosophy. Contradicting the reality established by another performer is called Negation.

Disagreement within the YesAnd framework can be tricky to describe. A better example:

"This sucks. It's snowing" "Yes, and now we can finally go skiing. I'm so excited!"

</comment></comment></comment></comment><comment><USER17> I think there's one case where saying a plan won't work is the right thing to do, and trying to "get to yes" will often be a mistake: when you understand what needs to be done, and the (time or money) budget is too small.

If you try to "get to yes", it will often happen that the person in the position of the client will respond by cutting scope, saying "well, we don't really need that part just now".

And then it will usually turn out that they really did want what they originally said they wanted, and maybe try to sneak the features back in in disguise, and the whole thing overruns or else you end up saying no in a position where everyone is worse off than if you'd said no to start with.

I think they should teach Bridge in management school. Often not being in a contract is the right answer!

</comment><comment><USER18> Chapter 2 is also available:

"Optimism as an Operating System"

[https://tomcritchlow.com/2019/11/19/optimism-operating- syste...](https://tomcritchlow.com/2019/11/19/optimism-operating-system/)

I'm really looking forward to chapter 4, "Status Switching", as it's a skill I'm very keen to further develop.

I wish I could get an email as soon as it's posted.

<comment><USER19> I think you can - there is a link to sign up for the newsletter at the bottom of the page

<comment><USER2> Author here: yes I have an email list here (infrequent) that I'll post a message to once chapters 3 and 4 are ready: [https://tinyletter.com/tomcritchlow](https://tinyletter.com/tomcritchlow)

</comment></comment></comment><comment><USER20> Lots of comments here come off as very resistant to accepting the ideas presented here: that success at work is as much about the quality of your work as the effort made to connect with the humans in an organization evaluating the work. Improv is a perfect frame for this: entertaining but doing deep preparation for that entertainment.

What I'm really fascinated by is how this can be translated to remote working. I don't think water-cooler talk is possible in Slack. I would be really surprised to find anyone at the top of performance in any organization that isn't fully remote without resorting to Machiavellian tactics. I wonder if the stresses you saw at GitHub during their period of centralizing management in SF after really marketing themselves as remote first were evidence of this.

<comment><USER21> > I would be really surprised to find anyone at the top of performance in any > organization that isn't fully remote without resorting to Machiavellian > tactics.

Can confirm. Switching to a fully remote company was eye-opening. The politics are much worse than my office jobs.

Everything is back-channeled. So many secret private Slack channels and exclusive in-person meetups where actual decisions are made.

At least in the office you could get a sense of the political landscape after a few weeks of meetings — I was unaware of how my remote organization actually worked for over a year until I raised some concerns and a co-worker clued me in.

The shocking thing wasn't that a remote company has politics, but that the entire company ethos was based on how much more transparent and less political fully remote organizations are.

<comment><USER20> This says it. Yikes.

<comment><USER22> FWIW it hasn't been my experience.

I've spent about 9 years working with a fully remote company. The back channels exist, mostly as video calls in slack, but to me that's no different than a conversation in a quiet corner of the office. You can usually sniff out who talks to who and what the relationships are like.

I find you do have to call people though, if you isolate yourself in a remote company it's probably even more, well, isolating. No one's going to accidentally bump into you.

</comment></comment></comment></comment><comment><USER23> An interview with D'Arcy Carden ([https://www.imdb.com/name/nm3639013/](https://www.imdb.com/name/nm3639013/)) about her stand out performance on The Good Place ([https://www.imdb.com/title/tt4955642/](https://www.imdb.com/title/tt4955642/)) was the first I'd heard about "Yes, And...". Got me curious about improv. Previously, I equated it to standup comedy.

D'Arcy Carden: The goal is to make the other person(s) look awesome.

I wish I could tell younger me to study improv, to hear this nugget of wisdom, before joining the work force. Might have saved myself and everyone else a lot of heart ache.

</comment><comment><USER24> > they're asking for people to take positions and have opinions.

Yes only positions and opinions that make them look good.

For example, in a tech all hands. "Ask" questions like these

1\. How did the upper management react to cost savings from initiative X.

2\. How did vendor feel about us canceling their contract by building a cheaper home grown system that is saving us X million $ every year.

3\. What is the strategy for filling out open positions faster. ( we are doing so good that we have way too many open positions)

4\. "joke questions" , did CEO actually finish 50 pies in pie eating contest at the management retreat ,like he claims he did.

also, consultants rarely get invited to these all hands in the first place.

<comment><USER25> And what exactly did you / would you think to accomplish with these questions? Besides attempting to publicly humiliate people who're paying you and stroking your own ego?

"Questions" like these put other people on defensive (which means they won't listen to you anymore) and mark you out as an a*hole (which means they won't listen to you at all). It's counterproductive.

I'm always baffled how engineers don't get that: they can understand that you need to write "printf()" and not "abort()" to achieve printout, but can't understand simple rules on how to achieve results when interacting with other people?

<comment><USER24> > attempting to publicly humiliate people who're paying you

No it's the opposite.

How does highlighting millions of cost savings from CTO's initiative humiliate him?

I am confused how you got that impression from my comment. what did i miss.

<comment><USER26> Not the commenter, and I understood what you were getting at, however, your original post doesn't specify _who_ is being asked the questions. It's implied you're asking the CTO, but it's never clearly stated.

That said, this is a good reminder for everyone to "read generously": If you read something that seems absurd, take a minute to make sure you're not just misunderstanding the post. Posts often gloss over context, and so you should try to rebuild that context.

</comment></comment></comment></comment><comment><USER27> Second City, a well-known improv club/school offers workshops to teams focused on exactly these concepts. My team went to one of their workshops in Chicago a few years back, and while it was not world-changing, at was eye-opening.

[https://www.secondcityworks.com/](https://www.secondcityworks.com/)

</comment><comment><USER28> It is rather interesting that this is on the front page with "Authenticity promotes well-being in life and at work" [1]. I don't believe they are opposite, but it is difficult to achieve both. However, publicizing individual work is absolutely crucial for promotion or even keeping one's job. My personal take is to build something concrete, something other people find useful.

[1] [https://news.ycombinator.com/item?id=21666569](https://news.ycombinator.com/item?id=21666569)

</comment><comment><USER29> Thanks for a great article. I want to share this with some stressed colleagues, but I doubt they'd appreciate it. Many people in America take the theatre seriously, and thinking of it as such would be detrimental to their self-image.

</comment><comment><USER30> In my opinion just look around and see what the successful people are doing. Putting your head down and working is what I'd do for developing my own technical or something else skills. I.e. studying. Nobody I've met who gets high success in an office job does that.

I wonder if there's not something to read into this a bit beyond my current abilities. Many people work on things that they consider somewhat boring, or at least not at the boundary of their skill set. People above you in the organization spent a lot of time building "synergies" and organizing a team of people frankly (in most cases) somewhat overqualified for the task. It seems like throwing all that out by not integrating enough into the social group is a terrible idea.

<comment><USER31> Imho, if you're successful without working hard, you have "hacked" the system, and like any form of hacking this should be punishable, in this case e.g. by degradation.

If only we had a system where (special) judges were able to determine who works hard and who doesn't and from there decide who gets what amount of pay, and who deserves a promotion. We could actually have a fair society.

<comment><USER32> > Imho, if you're successful without working hard, you have "hacked" the > system, and like any form of hacking this should be punishable, in this case > e.g. by degradation.

> If only we had a system where (special) judges were able to determine who > works hard and who doesn't and from there decide who gets what amount of > pay, and who deserves a promotion. We could actually have a fair society.

Why should pay be based on how hard one works? I know when I started my career I had to work _much_ harder, because I had not yet been around the block so to speak. As time went on I became much more efficient with my time, experience makes it easier to see patterns, etc.

So if the metric is how hard one works, as I get better at my job I'd actually get paid less?

<comment><USER31> Well, if you like you can replace "works hard" by "is efficient". Or something in between, depending on what you think is fair.

<comment><USER33> There is no "if you like." It's _your_ statement, justify it.

</comment></comment></comment></comment></comment><comment><USER34> From another thread I saw the recommendation for "Getting to Yes, and... The art of business improv"[1]. It just arrived yesterday. This blog post looks eerily similar.

===

[1] [https://www.amazon.com/-/de/dp/0804795800/ref=mp_s_a_1_8?key...](https://www.amazon.com/-/de/dp/0804795800/ref=mp_s_a_1_8?keywords=yes+and&qid=1575120878&sr=8-8)

</comment><comment><USER35> I unfortunately recognize several of these as being true from my five years at BigCo. Is this advice true of a (tiny) startup as well? Work should speak for itself when the survival of a company depends on it, right? I'd like to know if it's the same on the other side.

<comment><USER36> I've only worked at tiny startups; I would say in the majority of cases, work speaks for itself. One thing to consider though, if you're producing good code... why would you be promoted to a position of mostly managing others? The company would no longer benefit from you as an IC. At tiny startups, even the CTO is spending a lot of time coding.

<comment><USER37> You can only code so much as you can - your output is limited to your skill, ability to learn, work ethic or determination, and time. There are all kinds of things that can waste your time - programming something that wasn't required, programming something in a way that becomes a problem later on, oversights and other mistakes, but hopefully with experience you waste less of your own time by learning from all these previous less than optimal decisions. Now if there is more work to do than you personally want to do - it would just consume your life - maybe it is time to get some help, and then you are managing your helper in some way by guiding what they work on to help you out in the way that helps you get more work done than you could have by yourself. And then you get another helper, and another, and soon enough the team of programmers you are managing can produce more than you could have ever done by yourself. You don't write much code anymore but You help your team solve problems with the building blocks you have, and keep them on the right path when customers and other forces will try to benefit themselves at your teams expense.

</comment></comment></comment><comment><USER38> This article is about as insufferable as most improv groups.

<comment><USER39> Yes! And about as annoying as a manager whose job is to talk about work without actually doing any.

<comment><USER40> The job of a manger is to differentiate work from talk about work. That is why there are managers at different levels, and that is their core function.

If someone can talk their way into a promotion, that is either a sales organization, or a great sign of a failing company. Or a strategy group.

A version of this is available every day: commercial journalism is the act of promoting good writing over good thinking. Usually for the same reasons as most bad plans: ideas structured by analogy, visualization, and context free approximation.

Anyway, this is a good article, and because it is often true, one worth pushing back against.

</comment></comment></comment><comment><USER41> I'm disappointed with articles like this. If I wanted to be in sales, I wouldn't be in engineering. Not everything is about marketing. Some people need to, and daresay, enjoy building things, otherwise nothing would ever get built. This salesification of all business strata is strictly an American phenomenon, and will eventually be the death of American industry. Already our major exports are media and pop culture that exemplify this phenomenon. Now engineers are supposed to market themselves? No wonder we don't manufacture anything worth exporting anymore.

</comment><comment><USER42> Sincere plea to everyone who does frontend: please knock it off with the on- select rich media shit. I am a compulsive selecter (and I know there are others like me). I like to select text as I read and it's jarring to have _annotations_ pop up on the side as I do it.

<comment><USER43> Are you a double-clicker or just selector?

I'm a double-clicker and I know of many others. I don't know many "selectors". In that spirit, they should just ignore double-clicking in whatever they wanna present for selections.

<comment><USER42> Both. I do this up-and-down selection where I select from above and then from below big chunks of text, and then occasionally (I think when I'm concentrating on a specific sentence) I'll doubleclick a word a bunch to select the word and then the paragraph back and forth.

</comment></comment></comment><comment><USER44> Very interesting to see this at the top of HN literally just after reading "Human Capital: a Horror Story"

[https://amgreatness.com/2019/11/27/human-capital-a-horror- st...](https://amgreatness.com/2019/11/27/human-capital-a-horror-story/)

<comment><USER45> Good lord, what a schlocky piece of propaganda this is.

<comment><USER46> The person responsible desperately needs to be happy, but is far more invested in their own supremacy to actually enjoy human contact.</comment></comment></comment>


From Cubicles, Cry for Quiet Pierces Office Buzz - <AUTHOR> http://www.nytimes.com/2012/05/20/science/when-buzz-at-your-cubicle-is-too-loud-for-work.html?pagewanted=all <comment><USER3> "Open Plan" offices are more evil than Satan, The Beach Boys, Pop-under Ads, Politicians, and Slashdot Trolls all rolled up into one. I would never knowingly subject anybody to that crap.

Which is why, if/when the day comes that Fogbeam Labs can acquire office space and hire employees, I intend to make sure that everyone gets a private office, with a door. Knowledge workers need the opportunity for privacy and way to avoid countless, unnecessary context switches. Open Plan is practically designed to generate the maximum possible number of interruptions and distractions during the course of a day. It's disrespectful to people to put them in a situation like that, and it's less productive. That's just the wrong way to do things, as far as I'm concerned.

<comment><USER4> The interesting question for us who agree with you is why do other people think otherwise. Two reasons come to mind: some co-workers don't mind the disruptions themselves (e.g. if they do a different kind of work), and some managers simply just like the view.

<comment><USER5> I think the successfulness of open space plans depends greatly on the work you're doing.

If you're working primarily alone on difficult engineering problems, with well-defined specifications and a clear division of who owns what part of the code, then (from my experience) solitary offices are more productive. Communication doesn't need to be as high-bandwidth, and concentration needs to be deep.

On the other hand, there are many environments that are different. If your organization intentionally has low-fidelity product requirements, the cost of communicating with business stakeholders needs to be low. If you intentionally eschew code ownership, engineers will frequently be working in areas of the codebase they haven't worked in before and need to talk to colleagues who know it better.

Open plans make concentration harder and communication easier. Closed office plans are the reverse. I think no office plan is "better" than the other, but rather our office plan should fit the work style of your organization.

<comment><USER6> I've always had an office until the last few years. Now I work in a cubicle. My feeling is that communication was much easier for me in an environment with offices. The reason for this is that I could have in-depth conversation with others in an office. In a cubicle, I feel that having a conversation with someone else is antisocial because it will annoy everyone else.

The real reason for cubicles and open floor plans is that it makes the bean counters happier. Everything else is rationalization, IMHO.

<comment><USER7> Are the two really opposed? At my job, we have an open floor plan and a couple of closed rooms where people go for conversations, talking on the phone, etc. Seems to work fine, although I don't have much of a gauge to measure by.

<comment><USER8> What if two people need to work together on a computer and they only have desktops. The commom-area closed room doesn't do them any good.

<comment><USER9> The common-area closed room should have a desktop computer in it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I think it's ridiculous that people try to put programmers in this environment. Coding is one activity that requires a tremendous amount of focus and concentration, you shouldn't even think about this for programmers. And I, for one, find headphones to be irritating and distracting, so that doesn't work out very well either.

For programming there are times where collaboration and group innovation is great--it's before you start coding. Yes, by all means hang out in bullpens and shoot darts at each other, cool. But once you start building, you take your piece of the structure and go build it in solitude. If you need to confer with someone else you figure out how to make it happen, whether it's walking up and interrupting them or even if you have to schedule a meeting. It's the nature of the beast, there is no magic pill to make that part go faster.

<comment><USER11> I hated headphones with passion until I found a pair of earbud plug style phones with small plugs. And they are under 20 bucks. They don't isolated aot of noise, just low background chatter. Anything louder is completely ridiculous (yet common).

</comment></comment><comment><USER12> Noisy environment are _awesome_ to work in. But it does need to be noise, as soon as there is any signal mixed in with the noise it throws you off because you start focusing on that instead of whatever you're doing.

That's what makes coffee shops such a great place to work. There's a bunch of people who don't care about you - so nobody will say anything _to_ you - <USER2> the music is taken care of so you don't have to worry about that either.

Quiet environments are the worst. I find myself completely incapable of thinking when it's quiet because my brain just starts playing music to run away from the quietness.

<comment><USER13> I disagree. I detest coffee shops for trying to get any work done for a couple reasons. First, no matter how hard I try, noise always seems to seep in through my headphones, and second, it's too dynamic of an environment for me- people walking around and moving is distracting for me.

The best working environment I ever had was when I was in college- the top floor of our library was a big study room with individual cubicles, and it was absolutely silent. It was the one place I could really zone out and get work done because once I was firmly planted in a cubicle, I could focus solely on the task in front of me.

I was interested to learn that pink noise specifically blocks speech. I use one all the time, and I'd really like to see the difference in an office environment with one on and off.

<comment><USER14> "The best working environment I ever had was when I was in college- the top floor of our library was a big study room with individual cubicles, and it was absolutely silent. It was the one place I could really zone out and get work done because once I was firmly planted in a cubicle, I could focus solely on the task in front of me."

I also found the presence of others and absence of my own stuff kept me from task avoidance strategies.

</comment></comment></comment><comment><USER15> We just need more multi-modal offices. Sometimes you need singular, uninterrupted, quiet spaces and then sometimes you need the constant collaboration of the bullpen space. Leaders need to define the values of the organization and intentionally decide which layout will be the default.

<comment><USER16> My favorite workspace had proper offices surrounding open working spaces. Most everyone worked in an office, sometimes doubled up with an officemate. When you needed to blow off some steam, talk to a coworker or collaborate, you moved out into the open space. Also, the default behavior was an open door policy, making it much easier to pop in on someone.

</comment></comment><comment><USER17> This template seems to work for all workplace architecture discussions:

I find that my work style is the only work style that works for me, therefore it works for everyone because HR ensures we're all identical cogs in the machine. Therefore I feel the best idea is to enforce hyper conformity on everyone. If they don't like it they can not work, or I can relate how other employers are more extreme so they should be happy.

As far as my own preferences go, as a guy who has to work at home a lot, its always hilarious to substitute in "home" for "work" and re-read articles about the supposed advantages of open plan offices. Yes, I do my best coding at home when my toddler kids are no more than 3 feet from my ears and arguing continuously with each other over meaningless stuff I don't care about. Yes, I do my best coding when Barney the Dinosaur music is blasting loudly (unless you're the guy picking the music, the music the team has to listen to probably sucks). Yes, when I'm deep into debugging something, the correct next step is always to have last nights American Idol monday morning quarterbacking babbled into my ears. Sure, the best way to stay on task is to listen to others in the area talk about their own work, what could be distracting about that.

My only question is who is paying people to write this kind of stuff? None of it is logical, so they're obviously not figuring it out on their own. Is it a Stockholm Syndrome thing or kiss up to the boss thing based on their own work environment? Or just the old classic follow the money, where someone, somehow, is making money off this? Personally I think is one of those "I strongly encourage my competitors to implement this solution" type of near-industrial counter-espionage. I heard google makes their rock star architects work next to the jet engine test area at the airport, I strongly encourage my competition to implement that plan.

</comment><comment><USER18> I really can not concentrate with constant noise and distractions around me and it is not because I am stupid, a bad person, or anti-social as "open plan" and "bull pen" advocates like to claim.

Last week I went to the local library. I hadn't been in a while.

The card catalogs of course went away years ago and were replaced with computers. Computers are all now tied up by people playing video games, looking at porn, and doing web shopping.

There are meetings going on, people drinking coffee, loud talking and debates, and some sort of classes.

It's as loud as a gymnasium. By the time I found the book stacks which had been moved to the basement since no one was interested in them, I couldn't remember what I came to look for.

There is a reason why libraries used to maintain protocols of silence, and the same reason applies to doing engineering design work.

<comment><USER19> some libraries are still quiet, and those are where I've done some of my best work! Try a library on a college campus - they're often open to non-students, and usually still have a culture of serious study, so they haven't been entirely converted into internet cafes.

</comment></comment><comment><USER20> I find cubicles hugely motivating.

I work my ass off every day to make sure I'll never need to sit in a cubicle again.

</comment><comment><USER21> How I cope:

I work for a company large enough to have little areas I can retreat to and get work done in isolation: A stall in the library, a corner of the cafeteria. I can get a solid hour or so of work done on a laptop (coding, writing, whatever) before I need to connect with my cow-orkers.

I also try to stay off the network during this time; I turn off wireless and shut down the browser and email client. This does wonders for concentration.

[I should add: Most of the rest of our company does have offices. Our particular division does not, and most people hate it.

I'm ambivalent; the open space plan works pretty well on teams, but if you get /two/ teams in the same open area, it's a misery of cross-talk and extraneous noise. Perhaps extreme mobility would help, a-la Valve, where people can dynamically choose their neighbors]

<comment><USER19> your cafeteria is quiet? In my office, it's the largest source of noise, and that noise carries throughout most of the (rather large, but rather open) office space

<comment><USER21> Off-hours, there are nooks where it's not bad.

</comment></comment></comment><comment><USER22> At previous jobs, I complained it was too quiet - everyone was just a robot staring at the computer screens. But then when people started chatting, I complained it was too noisy.

I realize it has little to do with the noise. And more to do whether I actually liked what I was doing.

</comment><comment><USER23> I currently work in an open office environment doing software development and absolutely hate it....I'm the type of person who needs complete quiet and solitary in order to focus and stay focused. There are constant distractions.

Most of my coworkers are the opposite, they seem to enjoy the open environment.

But i agree that it depends on the type of work your doing that makes this better or worse.

</comment><comment><USER24> I just do not get it, I guess.

Colocation is one of the biggest things that make teams work. Putting any kind of barrier creates nearly-instant havoc.

For example, my current team was working on a particular platform (web) until we needed to start an iOS app. We split the team and the iOS team went to the _next room over_ (we were too big for the room we were in anyway). The web team was, in part, developing the API that the mobile team was consuming (bad idea, but speed to market was of utmost importance).

There were arguments between the teams. An Us v. Them attitude started. It became very agitated. And most of it can be attributed to the fact that they sat 5 more feet away from us and were not in our line of sight. Crazy.

I love open space environments. There are challenges (picking the music, for example). But, we get over them because we really do need to be able to yell "Hey <Business Person>, can you clarify this feature a little for me?" and be heard without having to track that person down from across the office.

So, personally, I am very confused. I guess I'm trained to ignore the noise around me [1]? Maybe I'm just one of the "noise makers" mentioned. But it is incredibly intriguing to me that I find _comfort_ and _productivity_ in open spaces while others are ready to damn it.

[1] There was a blog post recently from a pair programming coach (can't find it, sorry). But one of the things that he taught was actually how to ignore the noises and be production. Your mind beings to hear things but you aren't actively thinking about it. It's slowly processing in the back of your mind until you hear something that clicks. E.g.

I'm writing code.

Dorothy says to Mike, "...API was" ==> you brain hears this

Then your mind rewinds.

"Joe said that the update part of the API was broken this morning. Do you know what's up?"

You pipe up, "Hey! Dorothy, we changed the format of the json going into the API. You should check the docs for the updated format."

Back to writing code.

Some other links from coworkers:

[http://bizvalu.blogspot.com/2007/10/open-space- configuration...](http://bizvalu.blogspot.com/2007/10/open-space- configuration-dawn-of-new.html) <http://martinfowler.com/bliki/TeamRoom.html>

<comment><USER9> "we really do need to be able to yell "Hey <Business Person>, can you clarify this feature a little for me?" and be heard without having to track that person down from across the office"

Rather than yelling and disturbing the entire work area, what about some kind of instant messaging for those cases?

.................

"I'm writing code.

Dorothy says to Mike, "...API was" ==> you brain hears this

Then your mind rewinds.

"Joe said that the update part of the API was broken this morning. Do you know what's up?"

You pipe up, "Hey! Dorothy, we changed the format of the json going into the API. You should check the docs for the updated format."

Back to writing code."

Except then Dorothy comes over and asks you about the updated format instead of checking the docs because you decided to pipe up. Now she's in your face, and you are talking to her about something completely different than what you were focused on 20s ago. The consequences of losing focus and time to fully regain momentum are well known and the disadvantage to you typically don't warrant the advantage that Dorothy received by your presence.

<comment><USER24> That's very pessimistic and doesn't happen in practice. Basic politeness is key to interacting with other humans.

If Dorothy happens to do this, give that person feedback and address it on a _human level_ rather than putting walls between people (figuratively and literally).

Edit: And, sorry, just reread and saw your first comment. And, apologies because I laughed at the comment. You're talking about replacing a high bandwidth, instant communication channel with a low bandwidth, asynchronous communication channel? There are instances when firing off an email to the person next to you is better than the alternative and you should be making those decisions.

Also, I don't think anyone on our team would call it "disturbing the entire workplace". It's how we work.

I'm not trying to pick a fight, really. I think people in these two camps just cannot empathize with each other for some reason.

<comment><USER9> "You're talking about replacing a high bandwidth, instant communication channel with a low bandwidth, asynchronous communication channel?"

No, actually I'm talking about replacing yelling a question across an entire office space with simply sending them an IM. The IM method also doesn't require tracking them down, and as you mentioned basic politeness, I think yelling for somebody when you have no idea where they are or what they may be doing is rather impolite. You could be disrupting a conversation they may be involved in elsewhere for example.

</comment></comment></comment></comment><comment><USER25> I bring headphones. The ones like earplugs. Then I watch MST3K on youtube and ignore anyone that doesn't ping me on chat.

<comment><USER14> Personally, I find Philip Jeck's multi-turntable trapped groove samples (NOT club, more elegiac and nostalgia based) have the right kind of noise in the right frequency bands, and are devoid of 'signal'. Plenty on YouTube (official) if you want to try them.

I'm going to suggest the booths at work for when there is a furniture refresh (new building, three years old). Nice idea and probably not _outrageously_ expensive, great for meetings and for mind mapping. I wanted to know about the numbers; are the booths extra or do they assume some percentage of use to calculate the seat numbers in the office?

</comment></comment><comment><USER26> I'm a huge fan of office "suites" - smallish offices which comfortably hold 3-6 people. It's a good sweet spot between open spaces full of dozens of people and individual offices. Usually suite-mates are people on the same team/projet as you, so you still get that open collaboration, but aren't distracted (or distract) the other people in the office whose daily work is unrelated to yours.</comment>


Show HN: Hacksboard – A Pull Request Tracking Tool for Your TV - <AUTHOR> https://hacksboard.com/ <comment><USER2> Why is this a "service" and not a standalone app for AppleTV/Chromecast/Webkit TV's? Giving a 3rd party access to your github even to list the repo's isn't something that many companies will do lightly, not to mention that many companies might self host git or use an alternative service.

Also the site could really use some information about what the hell does the app do exactly, it shows pull requests that i can get, but some information about the process, and what features they have to actually facilitate it might actually be well useful for some one that wants to figure out if this is even worth evaluating.

I really don't get all these "app" sites lately, they pretty much only tease you in the hopes you'll bit and if you've invested more time in testing them out than you would normally want too you'll stick with them.

What happened to online-demos, couple of hour of video and actual manual and whitepapers being available? I really pity analysts and ISM guys these days that need to do some market research to find products that might meet their needs.

[EDIT] It looks like they require R/W access to everything, including code, settings, and deployment keys, GL getting that approved at any organization past the incubator phase that cares even slightly about security and or compliance. While they admit that this is excessive and is mainly due to limitations on GitHub's side (I'm not familiar enough with how permissions work on Github outside of their enterprise integrated SSO auth), but still seems that this is something that they should've solved using middleware or anything other solution that gives their customers actual control over what they could do with their repo. R/W access to code and deploy keys will simply not fly in any regulated sector.

<comment><USER3> Hi I'm Arol, one of the creators of Hacksboard. Thank you for all your feedback on this, we appreciate it so much!

Hacksboard was born to fit our company's needs mainly, as we have lots of projects running simultaneously and pull requests were lost until the author recruited some reviewers. After making it we found it was very useful and it applied a little game layer in our development team. We wanted to share it with other companies like us, so we refactored it as a service. We're looking for other ways to distribute it and Apple TV/Chromecast and Smart TVs are good ideas, we're currently figuring how to apply that.

The main handicap of this service is the R/W permissions of Github repos and we know it. This is the reason why we try to explain all the process, to gain user's confidence. We can't change this now, but we want to offer this product anyway to the companies that don't care about this or simply trust us. And yes, we will be there, well prepared, when the "Pull Request" github permission appears. It will be awesome.

Finally, yeah, I also hate these sites that don't explain you what the app does at first sight, and wow, it's good to know some people thinks this of my site. We'll take a look on that and try to show it better.

<comment><USER2> Hi Arol :)

I couldn't figure out what your app exactly does besides show some pull requests statistics. An explanation of all the features, and the process it self as well as the workflow would be nice. Some info about who and how should this be used in existing environments. e.g. what happens if i already have a pull request workflow in my CI/ticketing system can this be integrated with something like Jenkins?. Can you customize your workflow? are there any other features for this besides looking pretty like IFTTT workflows if you say need to delegate a task to some one, can you create/assign tasks related to a pull request, can you have M of N or multi tiered approval system (e.g. team lead, and architect) etc. I'm not trying to be overly negative and I apologies if it comes out this way I just assume there is more to this app than just showing pull requests in pretty colors and to me that's the only actual "fact" i could get from the website.</comment></comment></comment>


Open Source License Helper Tool - <AUTHOR> https://choosealicense.com/ <comment><USER2> May I recommend replacing The Unlicense with CC0? ([https://creativecommons.org/publicdomain/zero/1.0/legalcode](https://creativecommons.org/publicdomain/zero/1.0/legalcode)). It has all the same bullet points except is a bit tighter in countries where a public domain release is not legally valid.

Unfortunately it is more difficult to release works into the public domain than The Unlicense addresses. The Unlicense is likely sufficient for all foreseen cases in countries except Germany and France (to my knowledge), but CC0 is written beautifully with a double-fallback to completely waiver all rights in all jurisdictions.

Here are some analyses:

\- [https://creativecommons.org/2011/04/15/using-cc0-for- public-...](https://creativecommons.org/2011/04/15/using-cc0-for-public- domain-software/) Why this is okay to use for software.

\- [https://rd-alliance.org/sites/default/files/cc0-analysis- kre...](https://rd-alliance.org/sites/default/files/cc0-analysis-kreuzer.pdf) concludes that it is sufficient in German law.

\- [https://www.gnu.org/licenses/license- list.html#PublicDomain](https://www.gnu.org/licenses/license- list.html#PublicDomain) It is recommended by the FSF as a prefered method for releasing source code into the public domain.

<comment><USER3> I find it so strange that this is a problem... like the top legal minds of Germany can't figure out how to interpret the concept of public domain from another jurisdiction in a way that's consistent with German law? They can't just make a ruling that says, "OK, everyone consider public domain from other jurisdictions to be the most permissive possible license under German law" and be done with it?

<comment><USER4> If I understand correctly, the issue is moral rights ([https://en.wikipedia.org/wiki/Moral_rights](https://en.wikipedia.org/wiki/Moral_rights)). In some jurisdictions, including Germany, these rights cannot be waived.

For example, in such a jurisdiction, if I release a piece of code under a public domain equivalent license, you would have to give me credit as the author even if the license explicitly says you don't have to: the right to be identified as the author is a moral right that I cannot waive, legally.

</comment></comment></comment><comment><USER5> Some of these licenses are like kryptonite for enterprises. For example, I once wrote an ip address manager in python and licensed it AGPLv3. Two companies reached out to me through Github not to talk about features or bugs, but to demand I change the license to BSD. after a dozen or so random bug reports insisting I had no right to use AGPL, AGPL was not a real license, and even a handful of Outlook meeting invites copied and pasted to me for a face- to-face negotiation of new licensing terms, I eventually deleted the repo.

<comment><USER6> GPL is kryptonite if you want anybody outside a narrow slice of developers to use or care about your work. Unless idealogical purity trumps practicality in your mind, it's a nonstarter.

NPM or Nuget under more restrictive license regimes would never get off the ground.

<comment><USER7> The hyperbole in this comment is unwarranted. Furthermore, the GPL isn't even developer-focused. It's downstream, end-user focused. There's a reason many of the most prominent free/libre/open programs are GPL: GIMP, Audacity, Linux kernel, so many others…

GPL for developer-focused libraries and tools etc. is where the tension comes in because so many developers want to benefit from the open resources but _not_ pass on the freedoms downstream.

<comment><USER6> Well, I'm a developer, and I'm looking at this from the perspective of my upstream dependencies. If your cool library to do xyz is GPL, that means my project that wants to use your library needs to be GPL _. If it 's MIT or Apache or MSPL, party on.

_under most CyA lawyer regimes.

<comment><USER8> Which is why LGPL exists.

<comment><USER6> LGPL is problematic to some extent outside the original C-ist style of static and dynamic link libraries. At least that's what I've been told.

<comment><USER9> Its obviously not that problematic since it is quite common for both large and small game developers to use LGPLv2 and v3 for PC games.

The static vs dynamic aspect of LGPL is rather simple: the FSF has somewhat said that they will enforce C programs in the GNU project that is under LGPL based on the distinction of static vs dynamic. It can also be seen as the promoted "best practice".

The license however do not mention static and dynamic, so like any other copyright license it is up to the copyright author to decide when and how to protect their work. The license text of LGPLv2.1 calls the distinction a "work that uses the Library" vs distributing a "portion or derivative of it". LGPLv3 skips it all together and instead describe instead a "suitable shared library mechanism", which is very open to non-C languages. Basically any package distribution system with dependencies should work for LGPLv3 if the work is independently packaged.

<comment><USER6> Thank you, that's probably the best explanation I've seen of the distinction.

Still, it's an uphill battle to fight with bosses that don't understand the licensing, and are gunshy of liability.

<comment><USER9> It depend on the industry and how competitive it is. It is relative known that the game industry is rather saturated and delaying a launch for a few months can be extremely costly, so its a rather costly mistake to re-implement a parsing library when there is a free alternative that is compatible with the business model. If its not compatible, it is still cheaper on the average to have a lawyer/developer send a email asking the project authors for an exception. For PC games its not uncommon to see third-party license text that is larger than the credits, occasionally put after the credits or in a file in the install directory.

Not all industries are like that, and places like Google and Apple can afford to put years of developer time on re-implementing stuff for which they don't even know the outcome of. If you are dominant enough then delaying a product by months or years is not a big deal, and as seems common, companies like that has a reputation for throwing money and employees at the problem. I would guess that it is easier, quicker and "cheaper" for a Google project leader to get more people on a team rather than get a custom software license through the approval process.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> There's a disturbing trend that's similar to Microsoft's Shared Source [1] initiative from last decade, used by GitLab Enterprise [2] and Greensock [3]. The code is available for anyone to download, but is not under an Open Source license. They have the option of accusing their competitors of looking at their source code.

[1] [https://en.wikipedia.org/wiki/Shared_source](https://en.wikipedia.org/wiki/Shared_source)

[2] [https://gitlab.com/gitlab-org/gitlab-ee/](https://gitlab.com/gitlab- org/gitlab-ee/)

[3] [https://github.com/greensock/GreenSock- JS](https://github.com/greensock/GreenSock-JS)

<comment><USER11> It's useful to note that the term "open source" does not require an OSI- approved license. It is conventional that the term implies an OSI license, but there are projects that are undeniably open source which are not issued under an OSI license. SQLite being one of the most prominent ones.

All that can be said today formally about a project is whether or not it's OSI-licensed, rather than whether it's open source. So companies such as GitLab can claim they are "open source" legitimately without using an OSI license--as can SQLite.

Edit: clarity

<comment><USER10> Only because it isn't trademarked. Anyone who has the slightest shred of respect for open source community uses the term properly. They coined the term.

As for SQLite, it's compatible with OSI licenses. It has been folded into a larger work that's licensed under an OSI approved license countless times. There are some projects that might throw around the term public domain but I'd have to examine the details to see if it's ready to be used as part of an open source project.

<comment><USER11> >They coined the term.

The term was coined by Christine Peterson who was not part of OSI, AFAIK. [1]

[1] [https://opensource.com/article/18/2/coining-term-open- source...](https://opensource.com/article/18/2/coining-term-open-source- software)

<comment><USER10> I wasn't using the terms "open source community" and OSI interchangeably.

</comment></comment></comment></comment></comment><comment><USER12> This is the same one built into GitHub's onboarding flow. It greatly aids understanding by laypeople, and goes a long way towards bridging the awkward divide between making one's labor permissively available, and navigating the very specialized field of intellectual property rights.

I do wish the drilldown for placing software into the public domain would suggest CC0 over the Unlicense. CC0 is more precise, is backed by both a foundation and large organizations, and pre-dates it by several years.

</comment><comment><USER13> Good comments on each license, but misses a major point about sharing and community.

Despite the rhetoric about "freedom" the GPL is a huge disincentive for developers to participate. A larger code base that contains a GPL component must also be GPL. This is a nonstarter for most business users.

If you want to encourage a variety of developers to adopt, modify, and share changes, you are much better off with a permissive license such as MIT or Apache.

Paradoxically, the fact that you aren't forcing developers to share changes to the code encourages more use and makes it more likely you'll get a community contributing to the project.

Good examples of open source projects with diverse developer communities and permissive licenses include Hadoop, Apache webserver, Tomcat, NPM, Kubernates, TensorFlow and many more.

If you want to keep tight control over the code base and dictate all future changes, choose GPL. This was the choice for the JDK, MySQL, and many other projects controlled by corporate entities with little outside contribution.

(Yes, Gnu/Linux is a major exception as a GPL licensed ecosystem with diverse contributor base. But it's the exception rather than the rule).

<comment><USER8> Which is why the LGPL exists. Most code that is designed to be shared & incorporated rather than complete/forked should likely be LGPL (if the GPL ideals are what is wanted).

Personally I just go with MIT/X11 but there are good reasons to want to use a GPL-type license

<comment><USER13> Yes. But the LGPL is still more restrictive as it requires you to share your changes. Not as much of a disincentive but it still discourages community.

There are two good reasons to go with a gpl or lgpl license.

One is ideological. You believe software should be free and that downstream developers must conform to your ideals. This is the Richard Stallman approach.

The second is control. You actively want to discourage forking and outside contributions. This is Oracle's approach. This isn't necessarily bad or evil, but it's pragmatic. Generally a corporation doing this will offer the license under a separate paid offering as well.

I can't think of any other good reasons to choose GPL.

<comment><USER14> > But the LGPL is still more restrictive as it requires you to share your > changes. Not as much of a disincentive but it still discourages community.

Not a fan of GPL (because of developer restrictiveness), but I don't see how requiring changes to be shared implies more restrictiveness or discourages community. Can you explain the reasoning here?

<comment><USER15> In the early days of a software project, the most likely people to use it are business programmers: front line devs who have no say in corporate policy.

Typically, they want to use your code to save their own time. The code rarely does exactly what they need, so they almost always need to make changes. And since they are required under their NDA not to disclose any company related work, this prevents them from incorporating your code.

I have no feelings about this one way or another, but it's an answer to your question.

</comment></comment></comment></comment></comment><comment><USER16> Why not turn this around and default to GPL as "nice and simple"? The introduce the "I don't care about sharing improvements" option for BSD style licenses?

<comment><USER17> The GPL is anything _but_ "nice and simple". There's a reason why it's such a huge wall of text, compared to the much shorter BSD and MIT licenses.

And FSF's preferred interpretations of the GPL, and various ambiguous things in it (especially with respect to dynamic linking and implementations of standard interfaces) make it even less "nice and simple".

Let's take an example: Django is a web framework that, among its components, includes an ORM. The ORM is mostly agnostic when it comes to what database you use (I say "mostly" because the core team has always had a preference for PostgreSQL, so there are some bundled things that either only work with PostgreSQL or become more featureful if you choose to use PostgreSQL); it comes with built-in backends that speak the SQL dialects of PostgreSQL, Oracle, MySQL and SQLite. There are third-party backends available that speak the SQL dialects of other databases.

To actually use it, you have to pair it with a DB driver module implementing PEP 249, the standard Python database API. A SQLite driver ships in Python's standard library; drivers for PostgreSQL, Oracle and MySQL are available third party.

Django's bundled MySQL backend expects to talk to a MySQL Python driver module. All currently-available Python driver modules for MySQL are GPL'd. Does the fact that the backend module for MySQL attempts to load a MySQL driver mean Django has to be GPL'd? Django and the driver will be sharing address space, after all, and FSF uses that as a clear indication of a "combined work" that must be GPL'd.

Now, the usual way around this is to point out that Django simply wants something implementing a standard API, and doesn't know in advance which implementation you'll choose to actually use; if you had some other library implementing the same standard API, it would work just as well as the GPL'd implementation. This has worked out in other domains to avoid accidentally GPL'ing things that just want to use a standard API implemented by multiple competing libraries.

But... the standard Python database API doesn't _quite_ cover everything you might need to implement full-featured database access, especially when it comes to interrogating the version and supported features of the actual database you're talking to. Luckily these things can almost all be found out through DB-specific queries, but if Django has to hit a non-standardized bit of the driver's API to get some of that information, and if the driver is GPL'd, does that require Django to be GPL'd? And everything everyone's ever developed using Django?

As far as I can tell, the only thing used by Django's MySQL backend that isn't standardized in PEP 249 is a set of constants that label MySQL's internal column-type identifiers to allow introspection (i.e., so you can query for a table's column list and figure out that column type 7 is a TIMESTAMP, or column type 252 is a BLOB). Is that enough to GPL the entire Django ecosystem? What if FSF decides tomorrow that it is, and comes after us? What if we just copy/paste the integer values over into a file in Django? Does that list of constants even meet the requirements for copyright protection in the first place?

There is nothing "nice" or "simple" about having to navigate this. It's only "nice" if your definition of the term includes deliberately inflicting pain on people who are developing software that meets the FSF's definition of Free but which does not happen to be distributed under the FSF's preferred license. Personally I don't find that to be "nice" at all.

<comment><USER18> I agree with your overall point, I just want to point out that the FSF can't come after anyone, only the copyright holders of the driver modules can.

</comment></comment></comment><comment><USER19> I have used this tool many times to copy & paste appropriate licenses to my projects. Very helpful.

</comment><comment><USER20> I used this page for years as a recommendation to people asking about licensing. It explains in simple checks many details and is very helpful.

However, I think especially license interpretation (like how to integrate GPL the right way or how to apply license summaries the right way or copyright statements in source headers) do deserve a far more extensive page.

</comment><comment><USER21> MIT/X11 come from a kindler, gentler era, and so lack a patent release, which is a huge flaw nowadays. Is there _any_ legitimate reason one would select MIT/X11 over Apache?

<comment><USER22> One or more of: one might prefer MIT's simplicity (both the text itself, and the what's needed to comply) relative to Apache-2.0, one might not like the specifics of the latter's patent terms, one might consider the former's arguable implicit patent license good enough [https://opensource.com/article/18/3/patent-grant-mit- license](https://opensource.com/article/18/3/patent-grant-mit-license)

</comment></comment><comment><USER23> Needs more peer production license.

[http://wiki.p2pfoundation.net/Peer_Production_License](http://wiki.p2pfoundation.net/Peer_Production_License)

c. You may exercise the rights granted in Section 3 for commercial purposes only if:

        i. You are a worker-owned business or worker-owned collective; and
        ii. all financial gain, surplus, profits and benefits produced by the business or collective are distributed among the worker-owners

<comment><USER24> That's a field of use restriction, and thus incompatible with the open source definition curated by OSI.

<comment><USER23> As true as it is, I don't believe their definition is necessarily what is best for software or for developers. I don't believe that it is just that ownership of a product or its copyright, even in an open source capacity, should be transferred from developer to business owner if they're separate people.

Overly permissive licenses encourage private business to take advantage of software commons without necessarily contributing any of their changes back to it, which alienates their own developers from the changes at the moment and while at the moment it is trendy for companies to create software under these licenses, there's no mechanism to guarantee future updates will also be released in such a permissive way.

</comment></comment></comment><comment><AUTHOR> I would love to see a filter here, so I can pick and choose the attributes of a license that are important to me, and see which ones from the full list might be a good fit.

</comment><comment><USER25> I prefer copyfree licenses

[http://copyfree.org/](http://copyfree.org/)

and usually release stuff under the Copyfree Open Innovation License (COIL)

[http://coil.apotheon.org/](http://coil.apotheon.org/)

<comment><USER21> I read that entire front webpage and still have no idea what a copyfree license is.

</comment></comment><comment><USER26> As an alternative, please see the Free Software Foundation's license recommendations guide:

[https://www.gnu.org/licenses/license- recommendations](https://www.gnu.org/licenses/license-recommendations)

</comment><comment><USER27> our team has this link pinned in slack - very useful, normal human language used to explain!

</comment><comment><USER28> No WTFPL? I'm disappointed.

<comment><USER29> Fun fact: at least one large company I worked with explicitly internally documented WTFPL-licensed software as unable to be merged into their codebase, because lawyers. Cf. MIT/BSD/Apache/ISC/CC-BY/CC0 that were all fine.

<comment><USER30> WTFPL is not OSI-approved and so briefly held up containerd coming into CNCF.

[https://github.com/chanezon/toml#about-this- fork](https://github.com/chanezon/toml#about-this-fork)

<comment><USER31> IANAL, this is not legal advice, etc.

If you disagree that the WTFPL is a useable license, how does forking & relicensing work? _Changing_ the license requires having a license that allows you to do so to the new target license (or ownership of the copyright). But if our assumption is that we reject the WTFPL as a valid license, how can we simultaneously use it to relicense?

I.e., instead of a needing a legal debate about whether the WTFPL allows you to use the code, it would seem to me you trade that for a legal debate about whether the WTFPL allows you to re-license the code.

(At any rate, the upstream relicensed to MIT, and BurntSushi sought agreement from "major contributors, where I interpreted 'major' as '100 lines of code or more.'", so the entire thing appears moot.)

<comment><USER18> Yes, clearly you can't change the license of a project you don't have a valid license to.

</comment></comment></comment></comment></comment><comment><USER32> I also recommend TLDRLegal: [https://tldrlegal.com](https://tldrlegal.com)

<comment><USER33> Dang. Now THAT is a helpful resource. Thank you for pointing me to this.

</comment></comment><comment><USER26> Note that this page is owned by GitHub. Will Microsoft change this page? Will they maybe merely stop linking to it? Who knows.</comment>


Show HN: my weekend project, Marginalia. Markdown-powered notes with a full API - <AUTHOR> https://www.marginalia.io

<comment><USER2> Congrats! Could probably use some screenshots and a blurb explaining what your product does. At least 1 killer use case.

<comment><AUTHOR> Thanks! They're now on my todo list :)</comment></comment>


MinnowBoard - a completely open x86 board - <AUTHOR> http://www.minnowboard.org/

<comment><USER2> Overpriced, this board is.

<comment><USER3> Compared to other 1GHz SoC development boards, or Intel Atom-based development boards?

Just because a Raspberry Pi is $40 doesn't mean everything else out there is useless and/or overpriced.</comment></comment>


A cross-platform Reddit client built in SwiftUI - <AUTHOR> https://github.com/carson-katri/reddit-swiftui <comment><USER2> * A cross-MacOS platform Reddit client ...

It is not cross-platform in the normal sense as in supporting Windows and Unix flavors.

</comment><comment><USER3> Neat use of SwiftUI targeting Apple platforms. If you're interested, I'd be happy to test it out through TestFlight and give feedback.

</comment><comment><USER4> != Cross-Platform</comment>


Venture Deals Free Online Course Starts 28th June 2020 - <AUTHOR> https://kftechstars.novoed.com/#!/courses/venture-deals-summer20/flyer <comment><AUTHOR> The course is from Techstars and Kauffman Fellows. The instructors are Brad Feld and Jason Mendelson.</comment>