HNHacker News
TopNewBestAskShowJobs

TylerJewell

328 karma · joined May 30, 2010

CEO @ WSO2; Partner @ Toba Capital; founder & CEO of Codenvy (sold to Red Hat); Investor @ InfoQ, Sauce Labs, WSO2, Cloudant, ZeroTurnaround, Sourcegraph; Advisor @ ShiftMobility, SDElements.
submissionscomments
TylerJewell··on Show HN: Ballerina – Cloud Native Programming Language
I doubt you are trouble, it's a natural question.

On the surface every networked call feels like a method call, so absolutely, within any other language it could be done with a nicely prepared API wrapper for a similar type of connector. And, ultimately, that is what happens within a lot of ESB products that standardize how a connector should be deployed, versioned, and consumed by client applications within that environment.

Beyond that, though, the approach to the language design and the underlying implementation of connectors offers simplicity benefits that should make consuming new connectors easier and more reliable. A few things: 1. All network-bound calls are required to use arrow `->` notations instead of dot `.` to make some important distinctions. One is that sequence diagrams make this distinction and we can auto-generate sequence diagrams from any code file as the code structure is designed to reflect how integrators model their services.

2. Treating an endpoint as a native keyword and how that endpoint object is initialized within the language makes it opinionated, which ultimately makes configuration of some complex connectors simpler than what would be seen in API wrappers. If you take a look at the circuit breaker example, the circuit breaker is added as a configuration parameter to an outgoing HTTP connection. Of course, other languages can be opinionated about this as well, but they almost always delegate this to an add-on framework, and there are always some minor quirks to how frameworks work with their language of choice. So we get to bypass that and ultimately the syntax gets minimized to the point where it's easier to embrace and learn.

3. The underlying concurrency model in the language's runtime is based upon workers for parallelization, which are how sequence diagrams are modeled. Languages like Java map threads to classes. Node maps threads to the event processor, and so forth. When an HTTP -> call is made, we can do some nice internal optimizations such that while the code that you write will see that network call as a blocking call, behind the scenes, the runtime treats the outbound request as one worker and receiving the response as a second worker. Each worker is mapped to a different thread and you get some nice throughput mechanics because the system's scheduler releases a thread when the request is made. Because we know that any connector's invocation is going over a network with this syntax, there are interesting thread scheduling algorithms we can implement. We are seeing about 5x the TPS with a simple routing service built in Ballerina vs. the same type of service that we would implement in an ESB like Camel or Apache.

There are other thing that the designers will probably comment on, too.

TylerJewell··on Show HN: Ballerina – Cloud Native Programming Language
Yeah, the way it works in Ballerina is that an endpoint is a keyword that can create an object that represented a networked location. This could be one of three things - either the caller that invoked your service, the service you author which is listening as an endpoint, or a service you want to invoke.

For the services that you want to invoke, you can create endpoint objects of different types. The objects during initialization use connectors to establish the communication. It's like doing a constructor call in an OOP. You can import different packages the way you would with any language and shared packages are available on central.

Once you have one of those endpoint objects, you can do type safe invocations against it. So you might create a Twitter connection creating a "tweeter" object. That connector then has functions which can be invoked, "tweeter -> tweet (params);". This returns a data structure that is strongly typed and mapped to the payload expected in return from the service.

It's also pretty simple to write your own packages which have your own connectors. The push / pull dynamics of packages with central are similar to Elk or DockerHub, but applied to code modules.

TylerJewell··on Show HN: Ballerina – Cloud Native Programming Language
We are using it in production at WSO2 now - we have gateways and web site APIs running it.

We just made a 0.970.0 release last week which contains significant alterations. The language and runtime have been in iterative design and test for a couple years.

We are just now putting live ballerina.io so that we can start working within the community to gain adoption. A number of WSO2 customers are working with it in development and pre-production, but we asked them to not consider production deployments until the rework was done.

We hope to hit a 1.0 milestone by the end of the year where we will guarantee backwards compatibility.

We do find the runtime to be extremely stable with throughput numbers about 5x higher than equivalent ESBs, and we are running long term stability tests that are doing well. We'll publish all of these results soon, too.

TylerJewell··on Show HN: Ballerina – Cloud Native Programming Language
Ballerina is a compiled, type safe, and concurrent programming language to make it easy to write integration services, which are typically the glue between connecting different endpoints with distributed transactions, reliable messaging, mediation, transformation, and orchestration.

These are all capabilities that are usually built into integration products around a language, though these concepts are baked into the syntax and the language design.

The platform portion contains additional runtimes components for enabling this functionality including an API gateway, a message broker, a transaction coordinator, and a bridge for brokering transactions to services that are written in other languages.

There are roughly 100 committers. It's a lot of people that were involved in Apache Synapse and WSO2 ESB.

TylerJewell··on WSO2's Employee Performance Evaluation System
Hi - HN community. WSO2's leadership would be happy to discuss the philosophy behind our approach to recruiting and performance reviews discussed in the article. Feel free to ask questions here.
TylerJewell··on Ask HN: Possible to Become a Part-Time Manager? (Project or Product)
It's hard for me to speculate how much our PMs are working. No one in our company is micro managing the PMs and their day to day work. But usually, what happens with PMs is that they become accountable for some revenue targets, a set of releases, and a set of customers. These are all things that get scheduled or have targets which have a certain obligation / commitment that must be met. And the PMs just go on about doing that work.

When dealing with incredibly technical products that you are a PM for, almost all of the PMs have a strong passion for the area that they are involved. So there is a blending with personal growth and the products that they are responsible for. I personally am one of a couple PMs on one of our new initiatives at WSO2 where we have 150 engineers. I'm doing it because the technology area is in a domain that excites me, so it does border on being a hobby almost, and therefore I do not count the hours or dollar for dollar pay as much.

TylerJewell··on Ask HN: Possible to Become a Part-Time Manager? (Project or Product)
Your question didn't talk about your career aspirations, as those items would influence the type of PM position that you are seeking and the level of commitment that you would make to it. I'm also assuming that this is software PM.

Let me provide some of my background and our philosophy on PM, maybe some of these perspectives will alter your point of view.

I am currently CEO of WSO2, #1 integration OSS company and #7 OSS software company. We will do around $50M in sales this year, most of that being subscriptions which are growing roughly 60%. We are profitable and cash flow positive. We have 400 people in technology roles, and at any point in time we have 4 full time PMs and another 15 people acting in PM roles.

Prior to my job at WSO2, I was CEO / Founder of Codenvy, which was bought by Red Hat last year, and we grew to just under 50 people. And prior to that, I had spent roughly 10 years working in various PM roles on software products related to Java, .NET, systems management, virtualization and containers - essentially, devops and middleware are concentrations.

Software is a creative industry - much like the moving industry. Every release of a software product is an opportunity to redefine your company's position within a marketplace. Engineers are like actors, and PMs are like directors. And the PMs work with a wide range of supporting individuals to make each release of the software as successful as possible. The movie process is similar.

Since software is a creative activity, it can be argued that the success of software products are tied to the passion and commitment that their leaders attribute to their fashioning. Many software products are the result of a passion, commitment, vision, and love that are born from the inner values and beliefs of the product's leaders, which usually the PM is a strong voice.

In this regard, if the company you work for is a for profit software company, or the software project you would inherit has ambitious objectives around market share or penetration, success of the product is measured by results that require abnormal commitments from their leaders. Those commitments are increasingly hard to measure in time allocation or time slicing.

At WSO2, when one of our leaders takes on a PM role assigned to a product, it is a position of prestige. It comes usually with higher pay, more recognition, and more responsibilities. We ask our leaders to take a competitive position and to pursue victory, and then allow them to have access to broad resources and budget that they can deploy to facilitate their goals. When they take on this role, we allow them to allocate their time as they see fit, but quarterly they must stand up in front of the company during quarterly reviews to elaborate upon their results, the results of the competition, and what's next.

This type of PM is not for everyone - but the benefits can be tremendous. It was doing this sort of work that got me introduced to doing investments and acquisitions, because while at Quest, it was PMs that were the strategic drivers of potential partner / build / buy scenarios (and we did a lot of acquisitions). It also opened up opportunities for me to angle invest and join Toba Capital as a partner, for which I was able to lead investments in Codenvy, Sauce Labs, and WSO2 (for which now I am its CEO). And my CEO positions were never pushed or encouraged by the investors - in both cases, the companies looked at my PM background and asked me to get steadily more involved in the company execution.

I got serious about PM just about the age that you are now. I hope your journey proves worthwhile...

TylerJewell··on Who Killed the Junior Developer?
Hi - Melissa's blog post and the ensuing thread encouraged us at WSO2 to share our views on this topic in a response essay that talks about the importance of junior software engineers in a company.

https://medium.com/@tylerjewell/bringing-life-to-new-softwar...

TylerJewell··on [dead]
WSO2, an open source integration company, is hiring positions in R&D, solutions architecture (US, EU, APAC), sales, product marketing, and developer relations. We plan to hire around 100 new people this year. We published our company financials and business metrics publicly over the holidays.

https://blog.usejournal.com/wso2-our-2017-results-and-2018-p...

TylerJewell··on Ask HN: What were the most important new programming languages released in 2017?
I joined a company, WSO2, as it's CEO earlier this year. Over the past couple years they have been working on a programming language for integrating and orchestrating across endpoints. They call it Ballerina. It is at Ballerinalang.org. it is early stages and the community is starting to grow. They are doing interesting things around using language syntax to abstract distributed network resilience issues that you typically require custom logic or frameworks for.
TylerJewell··on The License Zero Manifesto
Yes, of course - happy to discourse further. tyler at wso2 dot com.

In seeing your response, it does occur to me that you may be tackling an alternative form of monetization that is suitable for micro-payments, or for open source project leaders that do not desire to oversee the more traditional commercial business aspects that you must under take to monetize a project. These are things such as support, consulting, and training. There is an investment (sweat, not monetary) that goes into thinking about how to deliver such services, meeting an SLA, and whether there are associated assets that must be created to support such a delivery. This is a lot of effort and maybe not commensurate with the time or objectives of the OSS developer. There is also the challenge of commercially transacting on such alternative forms of monetization (or value added software that is proprietary). So while these are profitable endeavors, there are any number of reasons that it may not be interesting to pursue them. It may not have to do with size of the project, but of the cost to pursue the alternative monetization strategy.

So in that case, it may be interesting for a project to have different forms of licensing at different phases of development that are more conducive to either micro-monetization or classic-monetization, for which WSO2 falls into.

And so perhaps it benefits us all to think of licensing for monetization as a spectrum to be applied given the objectives of the project leaders.

TylerJewell··on The License Zero Manifesto
I want to applaud the author for taking such a bold step, but I would like to disagree with the assertion in the manifesto that all forms of open source software are failing business models. I would like to encourage the author to dive deeper into the various ways that commercial companies that promote open source are finding ways to make it commercially viable.

By experience, I was founder and CEO of Codenvy, which ultimately made Eclipse Che open source workspace server. We created that with an EPL by taking the large majority of our intellectual property and open sourcing it. While Codenvy's IP was closed and commercially for sale, there were significant feature differences between Che (for workgroups) and Codenvy (for enterprises). We steered the entirety of our company's go-to-market to be Eclipse Che-first promotion, and as Che grew to 50,000 usage hours / day and 10s of 1000s of downloads, the cross-over to Codenvy was significant enough where we were able to build a nice business. It was a business that let us put more than 60% of our engineering resources into Che and we had 40 engineers. Codenvy was later acquired by Red Hat earlier this year.

I am CEO of WSO2, whose product line is entirely (well, almost) Apache licensed open source. WSO2 competes with large proprietary platform vendors like Oracle, IBM, Tibco, Software AG, and Mule Soft. Mule has an open core, but largely is still a proprietary vendor. We have 400 enterprise customers and - from what we can tell - probably another couple thousand installs of our various open source servers for identity, streaming SQL, integration, or API management. We estimate about 5 trillion transactions run through our software each year and our customers are some incredible high quality brands.

The company is 12 years old and has stayed committed to open source in this way. But we are commercially viable. We have 492 employees worldwide, offices in 5 countries, and a rich set of long-lived subscribing partners. This allows 100% (caveat below) of our engineers to work on pure open source development. Of our 492 employees, roughly 400 are technical. All of our technical people work in engineering, and then do rotations into support, consulting, training, or solution architecture / sales / marketing so that everything that we do related to our technology is witnessed by a full fledged engineer that can bring the advancements back into the product itself. And this also has an affect of building a strong ecosystem, where we have roughly 1000 other people who are certified and / or committers to our various open source initiatives. So I look at us as a healthy business, commercially viable, and found a way to make pure open source work.

The caveat - the way that we have been able to balance the trade off between a pure Apache license and the commercial viability is around subscriptions. Subscriptions offer customers specialized value for their implementation: support, indemnities, warranties, security scanning, incremental builds, and certified builds. To help us commercially, we only distribute patches, updates, and security addendums as binaries that are closed source. Customers who have a subscription get a perpetual license to the patch. Otherwise, the patch is also made into our project's code base, and at any time you can compile the code from the Apache base. Every 6 months or so, we update our open source binaries with the cumulative updates and patches. It's this sort of balance that allows us to create value for enterprises and gives them an incentive to get onto a subscription with us. And it's through those subscriptions that we have become a commercially viable company.

There are other models as well - with open core, and what I call open fringe, which are open source platforms that have closed-source "management" around it. These are all flavors of permissiveness that each company must find for itself to find an equilibrium between commercial interests and contributing to open source.

Again, I am very positive on the author's initiatives and do not want to provide a critique. But really do encourage a deeper exploration of the commercial ways many companies make OSS viable.

TylerJewell··on Show HN: bash.rocks – A bash interpreter in the browser
Hey - founder & CEO of Codenvy, also project lead for Eclipse Che - a workspace server and cloud IDE. We have learned a little bit about what it takes to run environments in the cloud and then present development experiences for languages in the browser.

Congrats to @wsxiaoys for launching a new project. Anyone who takes the time to launch projects are doing a labor of love and commitment, so that deserves credit and recognition!

Some observations that you may want to think about: a) The time to execute a simple bash command "echo 'hi'" was a few seconds. This tells me that you are probably spinning up a new Docker container on-demand after the user says "run". This will not really make the product usable over time. You'll eventually find that people will expect their environment to be loaded and running the moment their end user session has started. This way you can use Docker exec or other mechanisms (in Che we replaced Docker exec with a custom agent that runs inside the container that gives us fine-grained control over how processes are executed within the container). When a user says "run" you can then guarantee instant execution and then control how results are streamed.

b) I wrote most of the CLI for Eclipse Che and Codenvy (in bash!!). So learned that a few project / framework concepts are essential. In particular a project structure that allows you to source different files / or libraries will become important. Also, BATS for unit testing is essential to anyone maintaining bash scripts. Few people use BATS, but it's a life saver, so having automatic structuring of BATS tests as users creates bash files would be awesome.

c) Have you seen the language server protocol? No one has built a language server yet for Bash. It would be awesome to have symbol lookup, referencing, and auto-complete services within your editor. You could use a Monaco editor with a bash language server to give contextualized intelligence to your bash program for the developer. You could even go so far as to offer line by line debugging with it :)

Thanks for your contributions to the community!

TylerJewell··on Red Hat Acquires Codenvy
Hey everyone. I am the founder and CEO of Codenvy. Today is one of the most exciting of my professional career. Five years ago we started Codenvy with a simple mission to simplify the lives of developers. Our services are used by 100s of thousands of developers online, and in numerous enterprises on-premises.

We began our collaboration with Red Hat a couple years ago, and our aligning on building software the open source way has lead to multiple collaborations.

Red Hat is acquiring Codenvy, expanding the team, and working with us to make Eclipse Che (http://github.com/eclipse/che) stronger for everyone. To our nearly 50 employees around the world and shareholders, congratulations on this major achievement.

For the community - we are not disrupting the services and support we provide today. Looking forward to the discussion with you here.

TylerJewell··on Red Hat OpenShift.io – Free, end-to-end, cloud-native development
I have had a chance to write a proper blog post about my views on OpenShift.io and what it does, and how it makes use of Eclipse Che.

https://che.eclipse.org/openshift-io-and-eclipse-che-97a89e0...

TylerJewell··on Red Hat OpenShift.io – Free, end-to-end, cloud-native development
I have bumped into all of the OpenShift.io managers and executives today at Red Hat Summit. They have all been discussing this very HN thread (they have all read it), and taking it to heart that they want to clean up the marketing items immediately.

As for your question - initially it will be released as a service. But it's Red Hat, and their customers are primarily on-premises with OpenShift sales, so the demand for on-premises deployment on your own hardware will be through the roof. So we'll see if RHT targets that demand.

TylerJewell··on Red Hat OpenShift.io – Free, end-to-end, cloud-native development
Hi @toddmorey - I am founder / CEO of Codenvy. Eclipse Che is our open source kernel and we had the opportunity to collaborate intimately with Red Hat's engineering teams in the design and development of OpenShift.io.

Let me share some of the perspective that we have on what they are building.

What happens if your app dev lifecycle tools (git, issue management, IDE, CI / pipeline) runs on the same platform that is running your production applications?

From a market point of view, openshift.io is an approach to developing containerized applications in a way where the development team does not need to setup the infrastructure and tools required to create those workloads.

Red Hat has:

1. Created their own agile issue management offering, competitive to Jira, GitHub issues, or Gitlab issues, based around the concept of a "work item".

2. A context-aware browser IDE based upon Eclipse Che, which "dev modes" a workspace based upon the containerized version of the application you are building. This injects things devs need for writing code including SSH, language intelligence like auto complete, debuggers. The workspaces are configured for the developer in-context based upon the work item that is under taken (ie, which branch, which repository, which languages, which files are referenced).

3. A continuous integration pipeline designed around building, testing, and deploying containerized servies built for the project using pipelines tailored for the team and for the individual. The pipeline capability is built from within, but takes advantage of a containerized Jenkins under the cover.

4. Deployment of the application to OpenShift. The application is packaged as a set of containers, which (OpenShift) is powering all the underlying services (Che workspaces, work items, pipelines, etc). The deployment automates complexity about how to set up a deployment profile, automatically adds canary deployment mechanisms (deploy for only the developer, for the team, or for production users (portion of users, etc)). Why not use canary deployment for managing the builds of commits for individual engineers along with your end users?

5. Analytics built in for doing intelligence of the code base that is being built to do analysis of the open source libraries included in the project you are creating to identify if any of those libraries are potential security issues, as identified through community flagging or a white / black list provided by an enterprise.

6. By building all of this on a common underlying infrastructure, there is additional context associations that are understood, so pipelines are connected to work items and the workspace, and vice versa. This alleviates certain overhead and setup requirements of developers long term.

I am excited personally about this product because it solves the biggest pain that Codenvy sees with our paying customers. We have a number of F500 customers who pay and deploy a private Codenvy.

But they are all becoming DevOps infrastructure wizards. It's hard for them having to figure out how to wire together Jenkins, Gitlab, Kubernetes, their IDE. They can do it, but they are seeking a DevOps in a box solution that makes that sort of setup effortless for the dev team, self-service (so that the DevOps team doesn't have to spend weeks getting it configured), and production grade (lets dev teams build enterprise applications that will be packaged as container workloads).

So openshift.io is what happens when an organization tries to remove the effort out of DevOps, and they ultimately make optimizations and workflows based upon that point of view.

I am also project leader for Eclipse Che, and we are making a commitment to migrating the management of our open source project (4K github stars and >100 contributors now from a diverse set of companies) onto openshift.io. It will be really interesting.

TylerJewell··on Ask HN: Alternatives to Vagrant for development environments?
You may want to consider cloud IDEs. Eclipse Che (http://www.eclipse.org/che) is focused on "dev-moding" production runtimes defined by Dockerfiles or Docker compose. There is a Chefile capability that is similar to Vagrantfiles for creating a custom cloud IDE on the command line from a file defined in a git repo.

Che's only dependency is Docker. It uses Docker engine to both launch its infrastructure and to create developer environments. There will be a version of Che that runs on Kubernetes released shortly.

Note (I am project lead for Che).

TylerJewell··on Ask HN: First time in 4 years I lost interest working for startup. What do I do?
I am founder / CEO of Codenvy, project lead for Eclipse Che, and also sit on the board of directors for WSO2, Sauce Labs, Eclipse Foundation, and Shift Mobility. My career in technology has spanned 25 years. I still code and am a partner in a venture capital company (Toba Capital) along with doing angel investments periodically. I love the challenging mashup of being very technical with building businesses / products / markets.

I have felt burn out three times in my career. In each case, I had to disassociate myself from obligations for an indeterminate amount of time. It was essentially a responsibility "detox". When faced with the prospects of no obligations ... which ultimately lead to the prospect of utter boredom ... did new opportunities and enthusiasm to pursue them materialize.

The last phase of burn out allowed me to quit Oracle for which I was an exec for a (very) short tenure, begin foolishly day trading, and ultimately lead me to investing and market opportunities that lead to the creation of Codenvy in 2012.

Burn out caused Codenvy to exist.

TylerJewell··on Nitrous Service Shutdown – November 14th
It would be easy to say that Nitrous' issues were due to technology or the market not being excited. But they went through 3 different CEOs and did not advance / innovate for a number of years after raising a bunch of money.

The market shifted on them and they didn't adapt to that. I think that in their case, they had other issues beyond technology that got in their way.

They were way way ahead of Codenvy and Che, and in many ways Cloud9IDE 4 years ago when all of us raised our money. And they just didn't adapt.

By all rights, my company, Codenvy should have been out of business because of Nitrous. They had a good 2 year advantage on us with Docker workspace management. They had top top tier investors with seemingly endless pockets and a native understanding of how to sell into the enterprise or with SaaS. Essentially, they had a stacked deck. If they had innovated or open sourced their IP it into the right community two years ago, we would have had no oxygen to pursue our Eclipse Che strategy.

That would have turned us into a #3 or even worse a #4 or #5 vendor. That would have cut off additional capital, not a great growth strategy, and death would have been likely.

At this point we are a #1 or #2 vendor, and likely the #1 vendor by revenues given the number of enterprises we have with onpremises systems.

I don't know what we would have done if Nitrous had moved differently 3 years ago, but for a number of years I obsessed about them as a competitor, refreshing their home page every day.

TylerJewell··on Nitrous Service Shutdown – November 14th
Codenvy's C3 legacy system is shutting down and merging into codenvy.io, which is a next-generation platform based upon Eclipse Che. We have been running both systems in parallel for about a year now, and this weekend we will merge them together.

No matter how hard we tried, we were still getting about 1000 signups for the legacy system / week. The new system gets a lot more, but we just couldn't find a good way to merge the two systems earlier. It would have been nice if the usage of the legacy one had fallen off, but I actually think it kept increasing. So instead of having a really clean transition point, we ended up with three systems: 1. Eclipse Che open source going bonkers. 2. The classic codenvy.com which was growing in usage 3. The new codenvy.io, which was growing as fast as Che.

Now we'll just have Eclipse Che and codenvy.io.

TylerJewell··on Nitrous Service Shutdown – November 14th
Eclipse Che is doing pretty well. Approaching 20,000 usage hours every day from telemetry, up from a couple hundred at the beginning of the year.

Eclipse Che is focused on the dev infrastructure. It's about making the workspace completely portable and provisioned on any system without any effort from developers to have to set it up.

Lots of use cases: 1. Hosted workspaces with workspace project sync - we provide a che-mount capability for this and it's based upon a fuse file system with unison sync. It can be fine-tuned with excludes and dual unison clients in such a way where the performance is really screaming.

2. Migration of workspaces from location to location for purposes of backup and recovery.

3. Having workspaces match their production topology, so that developers are working on a workspace that is identical to their production deployment. This requires workspace runtimes that are constructed by orchestrators like compose or other syntax.

4. The commonly discussed situations with instructors or team leaders setting up a workspace template which is used by others to facilitate getting started quicker. We are about to launch a team capability that allows a team leader to define a basic template of a workspace that is defined by stacks, composefile structures, and other meta data, but more importantly it explicitly states the aspects that are personal to each developer, so as each developer creates their own workspace replica from the template, they have to populate it with their personal information such as SSH keys, oauth access, database credentials and so forth.

5. Big software vendors value the extensibility of the che platform because there are many products that need workspaces inside of their products, and they would rather customize an off the shelf product vs. build their own.

6. Better agile. Context-sensitive pull requests, git issues, git repositories, issues, and CI jobs - opening a context-aware workspace is a big deal. We do a lot of enterprise customers that focus on those cases. It's hard to set this up on a desktop or with vagrant.

We try to stay out of the IDE conflict. We are happy to work with any desktop IDE or provide our own for those that don't want to install something. But we are close to a future where each workspace can host multiple IDEs at the same time, including desktop IDEs that are pre-configured to work with the workspace configuration.

The point is that if you sit 5 developers around the table and ask them if they want to code in the browser, you can anticipate the response that you will get.

But if you sit 5 development teams around the table and ask them about problems they have with developer onboarding, agile team management, collaboration, developer support, vagrant and using VMs / virtual labs as development environments, then suddenly there are a lot of pains around the table.

We think Che is doing really well because we have tapped into this particular need with some efficiency. And we consciously try to avoid being the world's best IDE because of the issues stated previously.

Also, with the language server protocol that we announced with Microsoft and Red Hat this summer, it has really taken off. I can see us having support for 20 languages with intellisense + debugging by the end of Q1. It allows the language providers to maintain really good intellisense and we provide the infrastructure around that. And then we can focus on workspace provisioning and giving developers access (without installing software) to intellisense for the languages they love. And 90% of the world is covered by the 75% capabilities of most language servers on the market. So we can be increasingly language and tooling agnostic, while providing great services to teams.

Along these lines, we have a new team management offering shipping in a few weeks, not to mention Che 5 - which we'll announce at CheConf. And CheConf is our first users conference that we are holding on 11/15, and after two weeks of promotion, we are pretty stunned that we are approaching 1500 registrations.

TylerJewell··on Introducing Google Cloud Shell’s new code editor
Hi - I am the project lead for Eclipse Che. While I'd love to take credit for a special API for handling intellisense with languages, we didn't do it alone. We had a proprietary API that we built over a number of years that distributed intellisense using JSON. But when we saw Microsoft's VS Code doing something very similar but for local services, we consolidated into a single "Language Server Protocol" that we announced with Microsoft and RedHat earlier this year. This allows any IDE to plugin to any language. Languages have to provide their own language server implementation that matches the JSON protocol.

In Eclipse Che, we package these language servers for distribution into dynamically deployed agents. so when you start a workspace, your workspace can add a "PHP agent", for example and then we will deploy the language server and then hook up the browser IDE to the language server. To the end user, it feels seamless, but we actually install the language server for them. There are something like 2 dozen languages being built for language servers now. Rust just announced theirs and others are working on C/C++/RAML - even Emacs is getting one. RedHat is working on an advanced Java version and we use CSharp and eventually typescript from Microsoft. We want total interop with VS Code. Eventually Eclipse Orion (an editor) and Eclipse IDE (desktop IDE) will add support.

With Eclipse Che, we provide a simple CLI that lets you live sync your workspace to your desktop IDE. You just "che mount" and we use a fuse-based file system with unison sync to keep the hosted workspaces synchronized with the desktop. You can then use your local IDE and still have your workspaces entirely in the cloud.

These language servers must have access to the project file system, and we are handling that by either embedding the language server into the same container as the workspace, but since we now support compose workspaces where a workspace can be many containers, we are moving all of the language servers to run as separately deployed agent containers. When a user requests a language intellisense, we'll deploy for that workspace an agent container which is volume mounted to the projects in the workspace containers, so that the workspace can have the utilties needed.

TylerJewell··on Apache NetBeans Proposal
It would be a nice white paper to compare the development, release, IP, infrastructure and branding processes of the Linux Foundation vs. Apache vs. Eclipse.

I pick these three as they are foundations that have been long lasting and have proven an ability to retain member companies and a diverse set of projects.

The comparison would take a lot of effort to do but be worthwhile. You need to compare details as minute as around how web sites are hosted, how products are named, trademarking + copyright issues, provenance and IP policies around releases, mentorship, maintenance --- even things as formal as how issues are created, pull requests established, and how projects are organized among the committers.

The foundations can derive policy and rules at any level - and there is a significant variance depending upon the underlying charter of what the foundation is trying to promote. So the best place to start is the bylaws of each foundation, which are open source themselves, to understand the underlying motivation. Nearly all choices are made from the underlying principles.

Interestingly, the Eclipse Foundation is one of the larger revenue organizations from member contributions, but they do not have that many projects - maybe 300 or so. The IP provenance requirements are so stringent that many smaller projects turn away because they do not desire such a level of review. So the Eclipse Foundation is about to introduce a dual IP mode where projects can self-certify their IP provenance. The entire process around releases will be different can instead of taking weeks to make a release, could be done nearly instantaneously, allowing many projects that have a small group or open source license to become a project of the foundation, if that was a desire.

TylerJewell··on Apache NetBeans Proposal
There is a really interesting distinction between Apache and Eclipse around IP policy. It's taken me a good year of releasing with Eclipse to understand many of the nuances.

The biggest distinction is that Eclipse has an IP Policy where all of the code and assets has to have provenance of the code - either code submitted under a CLA, but if there are links to third party libraries, they are each independently reviewed by an on staff legal team. There are more details beyond this, but that level of human provenance review for every Eclipse project for it to be released, enables certain companies to more readily and easily adopt projects with not only an EPL license, but released as an Eclipse project with signed binaries on their hosted servers.

There are differences around mentoring, release process, hosting rules, infrastructure. But at the end of the day, it's about structure, rigorous rules, mentorship, and community.

TylerJewell··on Apache NetBeans Proposal
I am the project lead for Eclipse Che - developer workspace server and cloud IDE. The core of this project came out of Codenvy. Three years ago we were searching for the right governance model and community to open source Che from Codenvy.

We originally started with Apache. We went that way because we did not have relationships with Eclipse Foundation, the Orion project - a perceived competitor at the time - was already there, and concerns over IBM having an outsized dominance / influence over the community.

When we reached out to the Apache foundation to discuss the ways we could get our software into their foundation, building mentors, and also cross-project collaboration - we really struggled. We were unable to get the necessary endorsements. Apache was really bare bones governance. Because we couldn't get the right mentors, the proposal never made it out of an early proposal phase.

Serendipity at the time had me accidentally meat the Orion project lead at the Eclipse Foundation. Conversations ensued, and a path for how Che could come to be a reality with the support of other vendors that wanted to get involved was laid out. And that lead to our ultimate path into Eclipse and promotion there.

So this is an interesting back story about how one project ended up in Eclipse vs. Apache.

Interestingly, Eclipse is opinionated about the projects they promote. They are topically focused and work for project cross-pollination along with driving marketing initatives and IP policies around driving adoption of their core underlying projects. So that is a bit of a departure from the Apache approach where each product is more autonomous in terms of its underlying promotion responsibilities.

This plays a little bit to @dr_faustus comment on Apache being a place where many large projects are going - they can do that because the community already exists and they need the most structured infrastructure / process.

TylerJewell··on Apache NetBeans Proposal
Codenvy has added it into Che - shipping in a few weeks. Red Hat is adding it into Eclipse. And IBM is adding it into Orion. There is collaboration from Microsoft, Mulesoft, Salesforce, Zend, IBM, Red Hat and Typefox around the language services and proposal.

The big piece that is missing is a language server registry so that any tool can discover, install and register locally a language service. That will come next.

TylerJewell··on Cloud9 Acquired by Amazon
Why do you say that Eclipse Che doesn't support docker-based projects? You can run Che in privileged mode, which lets your Docker workspace build and run other Docker projects.

I am the Che project lead.

TylerJewell··on Cloud9 Acquired by Amazon
Hi - I am the Eclipse Che project lead.

Cloud 9 and Eclipse Che are different beasts. The primary difference is around the definition of a workspace. Eclipse Che workspaces have an encapsulation that include their runtimes and a self-hosted IDE. This, then, allows you to run Eclipse Che as a workspace server on any server or desktop. And since the workspaces are defined with configuration files you can move workspaces from one server to another.

The SDK is entirely open source - with no restrictoins, so there is a development model for how to customize both the IDE and the workspace.

Since workspaces embed their own runtimes, you can use Dockerfiles to create completely customized stacks. And we'll be supporting composefiles shortly.

We built Che this way to encourage ISVs to adopt for ucsotmization while also providing a simple IDE for developers. Codenvy uses Che to build out a distributed system that they host at beta.codenvy.com and also is installable by customers behind their firewall.

Cloud 9 is primarily a fully hosted SaaS with their IDE. The IDE features are similar but different, with C9 having more work around collaboration of users within the shared environment.

There is more details beyond this - but this is the essence.

TylerJewell··on Ask HN: Is there a reasonable, actually integrated Web IDE out there?
I would encourage you to check out Eclipse Che and Eclipse Orion. Eclipse Che will let you set up your own hosted workspace. Eclipse Orion is embedded within Che and provides language extensions for JavaScript and Web development. The technology are platform-centric, so there is a lot of embedded use by vendors packaging new products. They are the platform for SAP Hana, Samsung ARTIK IDE, OpenShift IDE, VSTS. There are various other projects happening within the Cisco, Salesforce, Mongo, Go, C++, SAS communities. Che and Orion have hosted versions run by Codenvy & Eclipse, respectively. Both services are free on the hosted front. I am the project leader for Che & CEO of Codenvy.
← PreviousPage 2 of 4Next →