Open Source projects for fun and profit! This is Jeff Heaton, let me tell you about how you too can be an open source author. Like just about everything in publishing the barriers to entry have come crashing down in the areas of open source; for example, if someone tells you that they are an author, what does that even mean? It might mean that they just uploaded a PDF to self publishing on Amazon. Heck, I’ve done that. If someone tells you that they are an open source author source contributor. you might immediately think they are contributing to some gigantic Apache project. And are well received and trusted. Or it could just mean they uploaded something to GitHub, so we’re going to talk about that What exactly is an open source project these days? There are really several levels of that, that I will get to in a second. GitHub is great. GitHub gives you a way to to take source code that you’ve written projects that you’ve worked on, that would otherwise sit sit in your hard drive somewhere, collecting dust until you accidentally delete them. you can take some of thes projects that you’ve done take them and polish them up a bit (so they are not an embarrasment, thats a good thing). and put them onto GitHub, here you can see my github account. Whats cool about this… is that this can become a very cool part of your resume If you see, I have 1.1 basically 1,100 followers some of my repositories have quite a few stars my Artificial Intelligence for Humans has 700 and I’ve done an Encog project that has very similar and I’ve also got my deep learning course, which has 560 stars. So this immediately shows you, when you are looking at somebody’s GitHub repository… okay people are following this, or interested in this theres people with alot more followers than me but, this is the level to which I’ve gotten. Here you show when people have contributed to their repository, so just looking at the amount of green there when you’re evaluating somebody’s git repository, that shows you how active they are. So, here are the steps of progression… code sitting on a hard drive you’ve worked on a project… you own the code.. its just where you learned something new, but its sitting on your hard drive and for me that is going to last until the next time I reload my operating system, and then I’ll lose it next you take that code and you think hey, somebody else might be interested in this, so you put it on your GitHub. repository. Congratulations! You are now an open source author! Now putting it onto GitHub, that may or may not really do much for you. You probably want to have your GitHub account linked on a few places. Like on LinkedIn and other things. LIke Twitter, I definitely do that. But, now the next step, and my own progression through this, is I took some of the code that I published for the Society of Actuaries conferences and I put it onto GitHub, just so that people could download progressing to the next step is you have something on GitHub that people actually care about you’ll know about this, they will start submitting issues when you see a project on GitHub that has no issues, it does not mean the guy wrote perfect software, it means nobody has actually cared about it enough to actually enter something. I ran into this, people started using my code that I had written about in conferences and submitted and published and all of a sudden they start giving me issues, and I need to start fixing this. Then you start to get into automated builds and unit tests this especially gets into some of the code that I have that became my Encog Neural Network Framework that I worked on alot, maybe 2008 to 2012 or so. That is really challenging, you start to have people give you code doing pushes onto GitHub And this is great, people are contributing stuff and you put it into your program… and… it breaks other stuff so this is where unit tests, and automated builds are critical as you progress through the levels of maturity. As more and more people cared about Encog they asked me to put it into Maven and NuGet, this made it easy for them to build it into their own projects and I started doing this as well that is as far as I really got to I did have other contributors working on this but I put the infamous ??? and then big time, I don’t know, where you are a big project, like Apache, or something like that but I never particularly planned for any of my projects to go to that level certainly the way this would happen, at least in my opinion is you would have more and more people starting to contribute to your project and it would go from there. This is Encog this is absolutely my biggest on GitHub, I’ve worked on it off and on since 2008 you can see there are 3,600 commits, most of them are by me and there are 31 different contributors, so thats the number of people that just came in from the general community and gave me code and fixed bugs, various things Currently 63 issues open on this, many of those are just support questions, and I may or may not have time to help people with individually This is a neural network codebase, so there is alot that people will need to do with preprocessing, so they will sometimes just post it as an issue and its really a support request. I do not do alot with Encog currently, its a neural network framework so in the world of 2019, where you’ve got TensorFlow, and Keras, and all these guys I just use the neural network libraries that the big boys put out but this is a neural network package that I wrote back in 2008, started out in Java and kind of writing all this stuff from scratch. And thats it! Think about putting code out onto GitHub, it can be a great way to get known in the community, and you can post your repositories on Twitter and on other places that you answer questions. StackOverflow is a great place that I’ve used GitHub in conjunction with If you’ve found this interesting, please go ahead and subscribe to my YouTube channel. Thank you very much.