 Hi everybody and welcome to cooking open source without spilling the secret sauce. My name is Ray and I'm a developer advocate and lead architect at Click. So this talk is going to be about promoting open source without dishing out the company secrets. There's a lot of companies out there that probably want to get involved in open source, but they're really not sure how to do it because they don't want to give away, you know, the core piece of their product that makes them successful. I'm going to be using my company Click as the main example and all the stuff that we've done to get involved in open source. So the first thing that you can do is you can open source components that can be changed by users. If you give the users a place to share customizations that they've made to your product, it's a fantastic way to create an open source community that's involved directly in your product. So at Click, we have this brilliant data analytics engine, which is our bread and butter, but we also have a front end called ClickSense. ClickSense is what allows users to drag and drop visualizations, create data stories and really find insights into the data that they have. We have a very robust extension API. And so that allows users to create visualizations directly into the product. So if your company has any way of extending the product, if it has any theming capability or any ability to do a lot of configuration settings, customization settings, or maybe script against the product, these are some fantastic things that you can help your community to open source and really get your company involved in open sourcing. The next thing that you can do is you can open source your documentation. Not only does it allow users to contribute to the product and help make the product better, but it's basically built in review for your documentation at a very low cost. So for example, we have a product here at Click called ClickCore, and we've open sourced the entire ClickCore website. So if users come in, and let's say they come into the website for your product, they come in and start looking at the documentation, and they start trying to use that documentation, and they realize that there's maybe some issues or some misspellings, they can actually update that documentation themselves. And that saved a lot of time on your part. Developing and open sourcing tooling for your users is another fantastic way to get involved in open source. When users get started with your product, or when they're doing some tedious tasks with your product, often they need tooling in order to accomplish that. And if you open source that tooling, you not only provide this for your users to address their main pain points, but they can actually fix those main pain points themselves. So for example, here at Click, we have what's called Catwalk, which is basically a website that allows them to connect to their engine and view their data as they're loading their data into the engine, so they can see exactly what their data looks like before they get started visualizing it. Another thing about our engine is that it's built on a web socket. So if people don't know how to use web sockets, we developed an Enigma JS project, which is a JavaScript library that allows users to easily connect and talk back and forth with the engine. And finally, we also have a product called How Your JS. And How Your JS allows our users to easily load data into their engine using JavaScript. We've open sourced the entire thing so that if people are having issues with our tooling, then they can fix it themselves. Another fantastic way to get involved into open source is to encourage your R&D to open source any in-house tooling that they have. R&D is a veritable goldmine for things to open source. When employees are developing your product or working with your product, they often create their own scripts or their own tooling in order to accomplish tasks that they have with the product itself. So encouraging your R&D and your employees to open source this code not only benefits the users by allowing the users to use this tooling themselves, but it can also possibly improve your internal processes because if your users find a faster or better way to accomplish these tasks, they can update the things that you're now using internally. So for example, I click, we have almost 100 repositories now and a lot of that is things that we were using internally and we ended up open sourcing that. So we now have a repository called Gopher Size, which is used for load testing. We also have one called ClickSense Kubernetes and that's to help our multi-tenant cloud product work better inside of Kubernetes. So a lot of times with a product, the bread and butter isn't necessarily the front-end stuff, but it's the way it works in the background. And so often products have design systems or custom frameworks in order to accomplish UI or UX tasks that don't give away the secret sauce of the company. So open sourcing these design systems or these frameworks is a great way to get the community involved in the product while keeping the core product itself proprietary. For example, I click, we have NebulaJS, which is a framework agnostic framework essentially in order to grab data from our engine and put it into a visualization. And then PicassoJS is a design system that we have for our visualizations themselves. And these are both things that we've open sourced in order to allow the community to use it in their own extensions, their own visualizations and also get involved in the company. Finally, if you don't have anything inside of your R&D or inside of your product to open source, one of the great things that you can do to get involved in the open source community is open source any tutorials or any product examples that you might have. The interactive education material that your company uses to get users up and running is great content to open source. So for example, we have a workshop called the click movie workshop, which allows people to get the up and running with the engine API using a react app that shows off movie data. We have a game called core chopper, which allows you to connect our engine to bike sensors and make a helicopter move up and down depending on how hard you're working on your bike. And we also have a ton of websites that really focus on using the engine in a lot of different business cases. So thank you for listening to my talk. If you have any questions, please feel free to contact me on Twitter or talk to me here at the virtual conference.