HNHacker News
TopNewBestAskShowJobs

CountdownGraph

1,124 karma · joined November 5, 2015

submissionscomments
CountdownGraph··on Preact, React alternative without weird Patents License
I'm a technology lawyer. I deal with a fairly high volume of open source licenses and I write a lot of software licenses. I'm also a former developer and still have hobby projects I write mostly in javascript - primarily in Node.

I've read the BSD+Patents licenses. What am I missing? It seems like it is designed to reduce the power of patent trolls and to reduce the power of people who use software written by facebook to sue facebook for patent infringement - which, IMHO - is pretty reasonable, especially given that I think it is an absurdity that software is ever granted patents in the first place (something being rectified, albeit slowly, in the post 'Alice' world).

So, what am I missing? Are there any other actual lawyers who can weigh in on this? Because I see a lot of FUD on here written by a lot of arm-chair lawyers and, when I go to read the licenses (which I do) I'm just not seeing it. I very much believe in evidence and I am always open to counter-arguments - so please, show me the problematic clauses or the problematic exercise of clauses by Facebook.

As of now, all I see is a license (probably written by Goodwin Proctor or Fenwick & West) with a restriction on initiating patent-based litigation - I can live with this. Again - I'm happy to stand corrected.

Disclaimer: I'm not your attorney, this is not legal advice, this is not an official legal opinion nor the opinion of my law firm.

CountdownGraph··on Ask HN: Should I trademark prior to Y Combinator?
IP Lawyer here. Note: I am a lawyer, but I am not your lawyer.

Upon using your name in commerce you acquire common law trademark rights. Filing a trademark before you are actually using it in commerce requires filing an Intent To Use trademark application and will cost you a few thousand dollars in legal fees (or a hell of a lot more if you are doing international) - either that or you are doing it yourself with trademarkia, and, in that case, I wish you bon chance.

Try to choose a strong name, but be prepared to change it.

"Strong" means, in order: a completely made up word, a word that has nothing to do with the product being offered, a word that is suggestive but not decriptive of the product. For more information, look up the "abercrombie" test. https://en.wikipedia.org/wiki/Abercrombie_%26_Fitch_Co._v._H.... http://berryentertainmentlaw.com/the-abercrombie-formulation...

If you want to search for competing marks, please note that this is an extremely technical process. You can try to search on TESS, but it is very difficult. https://tess2.uspto.gov

Note that this is only US trademarks.

Additionally, if your question is "how do I know if my mark will be infringing?" The answer is "that is an extremely hard and expensive question to answer." The touchstone of trademark infringement is the "likelihood of consumer confusion test," which is ensconced in the sleekcraft / polaroid factors. http://www3.ce9.uscourts.gov/jury-instructions/node/244 http://likelytocauseconfusion.com/likelihoodofconfusionfacto...

The point of all the above is that you really do need to be a professional at this in order to have the wherewithal to make judgments about the likelihood of a trademark's success. In addition, it takes a few business quarters to a year and a half for a registration to issue.

The point of all this is that domai.nr is as important a tool as TESS, that you can easily get lost in the weeds on this issue, that your own judgment is in no way a replacement or a substitute for a licensed attorney, that trademark strategy is hugely complicated and can be a total sinkhole. What does that mean? It means that, for a startup, like many, many other issues, you do the best you can but keep in mind that you are going to have to spend a lot of time and effort on it down the road.

Tl:dr: As a startup in general: IF YOU HAVE THE MONEY, it is worth starting this process this sooner rather than later. If you do NOT have the money, a reasonable strategy is to move forward with a name that you like but are willing to change. It is okay to change your name very early on. However, the goal is to avoid having to change your name when you already have a product out and some market presence. For YC: Do you need a trademark before you apply to YC? Almost definitely not - unless you are already selling your product. Do you need a trademark before you start selling your service to enterprises or spending money on marketing? It would be foolish not to at least engage an attorney and start the process.

Note that many other IP attorneys may have different opinions. That's fine - reasonable minds can differ on this subject, the above is an extremely short primer. Also please note that I AM NOT YOUR ATTORNEY AND IF YOU ARE THINKING ABOUT FILING A TRADEMARK YOU NEED AN ATTORNEY.

Edit: shoutout to https://news.ycombinator.com/user?id=27182818284 for posting this PG blog post - extremely on point: http://www.paulgraham.com/name.html

CountdownGraph··on Ask HN: Best business advice for software developers
I'm a software attorney - I negotiate software development, installation, support and licensing, deals, including agile software development, SaaS, PaaS, API agreements, SLAs - you name it. I was also in house counsel for a group of tech startups for five years prior to my current role. Finally, I write software, actively - these days in Node - yes, I know this is an invitation to mockery, which I welcome. All of this is a long-winded introduction to try to say I know a thing or two about this.

tl;dr: 1. The most important thing for developers to understand is the business goal of the software they are delivering. 2. The second most important thing for software developers to understand is how much they cost and their opportunity cost - especially if they are on staff.

To explain in more detail:

1. Software you develop professionally serves a business goal. Engineering decisions should be made in support of this goal - they are, themselves, not the primary motivating force. There are often cases where an engineering decision is a key part of the business offering - e.g., a specification, compliance with a protocol or a law or regulation, performance metric, systems compatibility - but this is still a business point. You are still building software for it to be sold. Part of understanding the business goal of the software is how the client (whether that is your employer or your actual client, if you are an independent developer or studio) actually makes money off of that software or how it fits into their business model. This means that, by and large, while executives are actually very sympathetic to engineering decision - you have to understand that a very large number of engineering decisions (possibly a majority?) are non-responsive to business concerns - i.e., they truly do not care if you go with react as opposed to angular for engineering reasons - but they do care if you tell them that there are more developers out there familiar with angular, they are easier to find and hire, the codebase is more actively maintained, it is less prone to failure, it is more likely to continue to be stable in five years, and it will not cost as much to re-factor the old parts of your production-software to this new platform as opposed to an old platform (NB: this example is made up. I have no idea if it is or is not true, with regard to react v angular). They don't care if one is shinier or newer - unless it has a material impact on the ability of software developers to perform and deliver, or it will have a material impact on the stability, security or performance of the underlying software.

2. Software developers are monstrously expensive. Mind-bogglingly so. And non-technical people have a very, very hard time understanding what you do all day. The many, many attempts to metricize software development - velocity, kanban boards, (god forbid) LoC measurements - are an attempt for non-technical people to try and match cost to output. Please understand that this is well meaning - they do respect what you do, they just do not fully understand it, which is why they have to build these elaborate systems to try and make sense of it. To express this another way - you cost money with every breath you draw, and you are fantastically expensive to keep around. A few months ago I was at a JS meetup here in NYC, where a CTO walked through how much work it took to install bower, grunt and babel into their production stack. He said it took 3-4 senior engineers three months of dedicated time to make this transition. I thought to myself, he must have made a great business case, the business managers must have understood this was necessary for the health of the product, his managers must defer to him without question, or the organization has very loose controls, or some combination of the foregoing, because that is somewhere on the order of 3.5 (persons) * 150 hours (productivity / month) * $125/hr (cost of a senior dev, fully loaded) * 3 months = ~$200,000 worth of work for changes to the stack that were purely internal. The math is crude and very back of the envelope - but consider the opportunity cost - that was senior dev time not being put into feature development, critical bug fixes, or performance optimization - it was purely back-end refactoring. Personally, I have no idea if this investment will turn out to have been worth it - I don't know enough about what it was like to write code in that org before and after these changes - I do know a tiny fraction of JS devs work in es6 - so I am skeptical of the utility of babel at this point, but that may be very shortsighted. What I can say with some certainty, however, having negotiated many, many millions of dollars worth of software development agreements, that this was a major operation, even for an 'internal' client. To put it another way, if you hired outside guns to do this same thing, double the cost. The whole point of this story is realize that, when this was all pitched to the management, who are decidedly not software developers, they had to put tremendous faith in their engineering team that this really large cost was worth it, when I'm sure there was a yard-long list of bugs, features and optimizations that were being de-priotized for this fix that the managers would never actually see, touch or interact with directly. When you are pitching engineering decisions to your clients, you have to make it very expressly clear why it matters for the business case - not just why it matters for the engineering case. You may be right and they may even understand and agree - but in the end, unless the engineering changes are going to have a business impact, it is not a good business decision to invest in them. Please understand - sustainability, security, performance and the happiness of the software development staff are important business considerations - so you can include them in your pitch. But if you just tell a manager that react fiber is better and the way of the future, and you must do a full-stack migration from your static HTML forms to react fiber and it will take 1000 hours of dev time, don't be surprised if you get the stinkeye. Tell them this is an investment in the sustainability of the product and it will mean it will work on more systems, more browsers, work better on mobile and make it easier to hire engineers? You may succeed in your pitch.

CountdownGraph··on 'Mr. Robot' may be fiction, but its hacking plots are all too real
> about dysfunctional people in IT is too much for me. > vilifying companies and loving big government is not my cup of tea > vilifying money as a medium of exchange is just absurd

You should watch season 2. All of the above are directly addressed.

CountdownGraph··on Startup Playbook
I have a really hard time buying a lot of this about how novelty and monopoly are keys to a successful company. If you look at the really successful startups, especially unicorns, almost none of them are actually monopolies or new ideas. The vast, vast majority are old products done right, and almost all of them have very substantial competition. This attitude is, in fact, encompassed in the near footnote-like section entitled "Competition." That section sums it all up: success is determined with obsessively improving the company. Competition isn't what kills, it is failure to keep on improving.

https://www.cbinsights.com/research-unicorn-companies

There is the list of current Unicorns. I can't think of one of them that doesn't have very, very substantial competition or is a genuinely novel product. All of them ventured into highly competitive, well-worn fields and what set them apart was quality of service, ease of use, and responsivity. Very few of them made conceptual leaps in the underlying product - they mostly made leaps in lowering activity energy to use products or solving associated logistical problems.

Sorry Sam, I have to politely disagree with you on this one. Lord knows you are the one with the resume and authority on this, but I am a startup lawyer and work with clients on this stuff all day, so I am not totally unqualified. I do defer to your judgment, obviously, on companies that you want to fund, and your track record more than speaks for itself. However, what I want to know is if there isn't some disconnect between the companies you do fund and the attitude that is expressed in this post. I would love to hear your insights or opinions on whether you feel that I have this wrong, and if you think that the next generation of unicorns are going to be novel monopolies, or that maybe I am misreading the characteristics of current successful startups.