Cloud Code – A new set of plug-ins for IntelliJ and VS Code
cloud.google.com
cloud.google.com
Everyone understands you can't put secrets in there.
Plenty of proprietary products are made in languages where the code is not compiled, such as proprietary PHP platforms.
Presumably, since the plugins are free here, if Google isn't open sourcing it, they don't want other companies to lift their work and use them in competing projects. Or, just as likely, the Googler that wrote it has some bureaucratic process they didn't go through yet to open source it, and they intend to change the license later.
Sometimes "open source" means "you can see the source code".
Sometimes "open source" means "meets the requirements for software licenses under the Open Software Initiative's definitions."
Similarly, sometimes "free software" means "provided at no monetary expense" and sometimes it means "meets the requirements for software licenses under the Free Software Foundation's definitions."
People really, really like to pretend that "free software" and "open source" are extremely simple concepts and synonymous terms. They're not. People like to pretend they're controlled terms and that the plain English meaning isn't valid. That's absurd. Neither one is particularly easy to understand because both are much more deeply nuanced than you see at first glance, and one look at free and open software licensing comparisons [1] will tell you that there is obviously significant complexity going on.
[1]: https://en.wikipedia.org/wiki/Comparison_of_free_and_open-so...
There are a lot of other possible licenses and just because they don't meet the open source definition doesn't mean they are bad. I disagree with the people who say the opposite of "open source" is proprietary.
However, if I do consider your argument, it's not very good. The argument would be that the Open Source Initiative is not the authority for the plain English meaning of terms. If the argument I'm making is that OSI's definition is not authoritative, you can't cite the OSI's definition as an authoritative counter argument. You're begging the question. Yes, people are going to assume "open source" means "OSI open software," but that doesn't meant that everybody is always using it to mean that.
And the OSI is not the authority for the meaning of English terms, correct. But the developers who use those terms are (much as language is determined by how people use it), and by and large, most everyone understands and agrees that open source software is software that meets the qualifications set by the OSI.
I'm not sure how common non-standard usage is yet but I don't think it's too late?
https://creativecommons.org/licenses/by-nc-nd/2.0/
EDIT: I do understand that CC licenses aren't really designed for code, and that these restrictions probably don't make sense under the label "open source". Just wanted to link a possible starting point.
Sometimes these types of licenses are called "source-available" rather than "open source", which distinguishes the significantly different type of permissions associated: https://en.wikipedia.org/wiki/Source-available_software
Figured we'd be able to look at the source to know. Guess not. :(
(If you really want me to blow your mind: the pm on the Google project was the pm for vscode)
The number of community contributions/involvement in this type of thing is small (in most cases), it also requires a lot of work upfront to integrate well with the OSS community (or you just end up pissing people off), and in practice you want to control the experience and product direction anyway (since it is part of your baseline experience for your platform), so you just piss off the community.
What is the net positive? Not just for Google, but for anyone?
I don't think it's about lock in so much as no perceivable benefit for trying to get this particular thing off the ground ATM.
I don't think anyone is going to succeed with locking someone in with IDE plugins, and i don't think anyone is trying (even MS).
(I'll make the disclaimer that i actually could have changed this decision but chose not to and i'm even a card carrying member of the FSF)
You can be open source without requesting contributions or building a tribe around it. You can be open source and say no to things you don't like: go ahead and fork and adapt it to your own needs.
I also think you are vastly oversimplifying this.
You also seem to have an interesting view of what happens when you open source stuff that is not at all consistent with what i've seen over the past 20+ years across a variety of projects. But YMMV, of course.
Some other generic benefits that would apply here are the ability to debug issues, and interop/compatibility. The first one is often dismissed on the grounds that most users are unable to do this; but we're talking about dev tooling here, where the target audience has the necessary skills. From my own experience working on open source dev tools, this is probably the biggest benefit - not PRs, but detailed bug reports that already mostly narrow down the problem. In cases where the original bug can be very environment-specific or otherwise hard to repro, this can make the difference between resolved and closed as no-repro.
Interop/compatibility is also an important angle, and very hard to predict in advance. But any extension that interacts with this one, or is used by it, could potentially benefit. This also ties into the ability to debug it somewhat - if extension A breaks extension B, it's much easier for the author of A to figure out why, exactly, and what's the best way to avoid it, if they have the source for B.
Then there's the ethical angle. VSCode itself is open source. So far as I know, all extensions that this one relies on to enable various customer scenarios - e.g. IDE support for various GCP-supported languages - are open source. For something that derives a substantial (arguably, the majority) of its value from those, closing the source runs counter to the spirit of the whole thing, regardless of the license terms. I can understand doing so for some specific business reasons - e.g. use of some proprietary components, or trade secrets in the code - but if it's only a question of not wanting to make the extra effort, it's kinda disrespectful towards people who did make that effort. Even that would be understandable if we were talking about a non-profit project that has limited resources and has to ration them. But this is Google, and the product itself is a part of the subscription-driven GCP ecosystem.
In general, the reason why open source is so widespread today is because for-profit corporations subsidize a lot of it. They have their own non-altruistic reasons, of course, but the entire arrangement is beneficial to all. So it's a commons, and we should all strive to maintain it and the cultural norms that make it sustainable.
(Full disclosure: I am a developer working on one of the relevant Microsoft VSCode extensions. Everything I write here is strictly my personal opinion. I do not speak in any official capacity.)
I think the amount people agree with this varies wildly.
There are plenty of people who consider it an attractive nuisance if it doesn't.
You don't have to look very hard in hacker news threads to find google/MS/etc getting blamed for occupying a space by doing this.
I really don't think you want to push the ethical angle - vscode was definitely not open sourced for ethical reasons as part of some grand altruistic gesture and to push forward a great ethos. I was told that directly by the people who started it and made those decisions. That isn't a statement that it was a secret evil scheme (it certainly wasn't), but those were just ancillary benefits, not the main goal.
I will leave alone the fact that your argument does not seem to have convinced MS in a number of places where there is no perceivable user benefit (see, e.g., the C++ extension) and it runs directly contrary to your claims, since you want to speak in a non-official capacity :)
Bottom line: I think this is a fairly simplistic view of the tradeoffs.
I'm certainly not exactly elucidating it in huge detail, but that's because i'm surprised people want to believe these are fairly simple issues amenable to a few paragraphs of analysis.
With copyleft, the basic principle wrt code reuse and sharing is "take what you need, contribute back the value added", and it is encoded in the license itself. With non-copyleft licenses like MIT, the only thing that's encoded is "take what you need" - but I would argue that there's also an implied "... contribute back what you can", that is broadly respected in practice, and is an important part of what makes the model sustainable.
I remember what the industry was like when the biggest bar to shipping open source in for-profit environments was the default attitude of "why even bother?", and in practice that meant a lot less of it all around, even where not having the code made life much more difficult for others. This attitude took a lot of collective time and effort across the entire industry to change, in many cases by individual employees inside those FOSS-hostile environments actively working towards that goal for altruistic reasons. In the end, I think we're all better off for it - individual devs and companies alike - and should strive to maintain those gains, and the culture that enables them. Arguing for closed source by default is contrary to that, in my opinion. Closed source itself is not.
I didn't, and never have ;)
It's mostly the opposite, which is that i usually am the person telling people to open source things by default.
Here, there turn out to be IMHO good reasons not to open source it at the start (it will be eventually).
The counter argument of "Google makes billions and they can certainly afford to do X" always seems to be a bit silly to me, since companies are made of people and not money, not to mention that most things companies open source will not be driving revenue in any meaningful way (again, some does, but it's the minority of open source for most companies). Open source is more of a development methodology than a sane economic model.
I've also changed over the years. After watching open source try to create a lot of products, these days i would definitely rather see good products than open source ones. Those things are 100% not mutually exclusive by any means, and in an ideal state you don't have to prioritize or choose between them. However it does mean that when i have to prioritize my choices, i'd rather have people concentrate on making good stuff than open source stuff. To start. In the end, i'd like it all to be open source :)
Others are different for sure.
Looks like there is a config setting for this: "cloudcode.enableTelemetry".
Upd: looks like the plugin is using https://github.com/mulesoft-labs/yaml-ast-parser combined with https://github.com/Microsoft/vscode-json-languageservice
The Kubernetes bit seems (somewhat) agnostic but it looks like a big part of this is adding integration for GCP APIs.
Which is all fine. Just wish it was branded a bit more specifically.
It's also tiresome that I'm losing access to my preferred music streaming platform that I pay $20/month for. No other platform lets me seamlessly put up a playlist with music from their streaming library and my own uploaded music[0].
People aren't dredging up the past here and being needlessly cynical. It continues to come up in discussions because it continues to happen.
[0]: Any streaming service that doesn't let me listen to Neil Cicierega is inherently flawed.
No, people here are more predisposed to understand the business needs behind a given service. You're more likely to find people who understand why a service is being shut down here than picking out of a crowd.
However, they're also apt to perform a deeper risk evaluation than the average person. And a glance at Google's track record shows that their services are pretty likely to be axed, and so should not be relied upon.
It's not entitlement to be upset that a paid service is being shuttered in favor of another paid service with fewer (or at least very different) features by the same company. I'm paying for it. If it wasn't profitable, they wouldn't be actively developing a clone of their own product.
It's really their best play to try to get some business when they're so far behind AWS and Azure in market share.
[0]: https://kubernetes.io/docs/setup/independent/create-cluster-...
[1]: https://kubernetes.io/docs/concepts/cluster-administration/n...
Unless you're just using Docker for the encapsulation you'll need something like Kubernetes pretty quickly.
I differentiate between is so much that as the app developer, Docker is my concern, Kubernetes is the concern of Infra/DevOps.