Foojay Podcast #19: Working Free For Fun Brings Fame & Fortune
Developer ToolsInterviews

Foojay Podcast #19: Working Free For Fun Brings Fame & Fortune

Many developers spend a lot of their time on side projects. It’s an opportunity to learn new techniques and get involved in communities.

But sometimes it can also lead to a new job.

Or even starting a business based on such a project.

Today we are talking to people who achieved such a transition and became famous and rich, or at least some of each…

Podcast Apps

You can listen and subscribe to the Foojay Podcast on:

Guests

Podcast host

Content

Transcript

Automatically generated from the audio, so it can contain errors in names and technical terms. Suggest a correction.

[0:00] Hello and welcome to this new edition of the Foojay podcast the guests of this episode were able to transform their pet project into an actual job let’s find out how they did that podcast all your news about OpenJDK many developers spend a lot of their time on site projects it’s an opportunity to learn new techniques and get involved in communities but sometimes it can also lead to a new job or even starting a business based on such a project today we are talking to people who achieved such a transition and became famous and rich or at least some of each I’m Tim’s Bike I’m a software engineer and I’ve worked with Java for over 20 years now I started out working at a university then switched to a startup then switch to Consulting for five years and now I’m back to istano in my spare time I’d like to yeah travel a lot but last year I’ve traveled a lot for conferences but also like doing long hides hikes if I have time I really enjoy working on open source software as well so it’s been a hobby of mine now as well so hi my name is I’m working as a consultant with info support for more than 10 years by now before I worked in

[1:17] A product company so I have roughly 15 years of java experience under my belt I started out working in open source mainly as a hobby just liked him but eventually I am also partially doing that as part of my daytime job now besides working on open source software I enjoy cooking making music and generally well having a good time with my family hi I’m Lucas I’ve been in the job ecosystem for almost 20 years now before that I used to do a PHP coding during my university studies at lausanne epfl before doing Duke I used to work in the e-banking sector doing Java development but also a lot of SQL development which is why joke was made and we’ll talk about that later I also like cooking and spending time with the family or video games also doing hikes these kind of things thank you and I’m Frank Del Porter the host of this episode of the Foojay podcast and I too have some open source projects that I’m involved in and Java on the Raspberry Pi is my main pet project and it got me into writing and becoming a technical writer at Azul you all have a pet project which became famous and led

[2:31] To some kind of a job or a business I’m curious about what you’re actually building can each of you describe your projects in let’s say two minutes I don’t even need two minutes although it’s not my personal pet project of course I’m a regular contributor to Apache Maven and I think apogee Maven does not need any introduction does it I mean if you’re around in the Java ecosystem you do know Maven and if you don’t you definitely should it’s kind of the de facto default build tool I do have some pet projects which are open source too I think the most well-known one is MCS which is made in central search it’s a small CLI utility that lets you query the maven Central repository straight from your command line rather than having to switch to a browser back and forth it’s not really big but it really started out because I was involved with navy and I was like hey this is kind of a missing link for me I always need to look at those coordinates and I always need to go to the browser which is not the primary place where I am because I’m either at the command line or in the IDE so that’s where it started maybe a

[3:40] Discussion between Maven Gradle will not do this in this podcast let’s do a dedicated absorb for that yeah let’s Reserve another hour and another podcast to talk about that Tim what’s your project I also joined an existing project like I said I used to be a consultant and I used to do a lot of migrations and upgrades I used to do these by hand and I thought well this is not optimal and I went looking for tools and I discovered open rewind an open reward allows you to automate such migrations so anytime there’s a breaking change in a project we’re able to write a recipe to apply that change at skill to a project and that was just a lot of fun I started contributing issues and minor fixes and eventually recipes and it’s just a it’s become a hobby of mine and I won’t shop up to it about it if I meet anyone at a conference or anything yeah that gradually moved into a work so yeah good fun and then we have one more project that we want to learn more about and that’s Duke yeah it’s funny to hear the word pet or project when you think about Duke these days I mean obviously it started like that but today

[4:54] I would say it’s just an ordinary commercial product another project because it’s a full-time job for me how it started it was an idea that everyone had in every company you have to do some Dynamic SQL and then you have to build those SQL queries and you don’t want to string concatenation all over the place with SQL injection vulnerabilities and every company had this problem that I ever worked at and they all rolled their own because there was nothing really that was good enough for solving these kind of things there are a lot of other pet projects as he said so a lot of similar projects exists in all languages actually also in typescript or rust or whatever you will always find something that looks like Juke on the surface but has Maybe a half a percent of the features when I started doing this I remembered a university Professor who had this idea and I it never it just always motivated me to actually solve this problem thoroughly because every company has and I thought I have an approach to solving it that I really wanted to do so now Duke is really this SQL

[5:59] Builder at basis it can do a lot more these days than SQL building but originally it was a SQL Builder a typesafe SQL builder for Java and I say by now maybe about anything between five or ten percent Java developers probably use it the open source version at least it’s now also a commercial product which we’ll talk about afterwards yeah thanks for all these Technologies like open rewrite Duke we all have articles on Foojay links to these articles I will add them to the show notes that people can continue reading if they want to learn more about all these Tim because you were working on open rewrite you actually really landed a job at Moderne what do they exactly do they offer commercial support on top of open rewrites is we have a platform so with open rewrite you can apply them easily to a single project but it might take depending on the size of your project yeah up to half an hour whereas we have a platform that allows you to just ingest all of the projects that you have in a larger organization so if you’re a bank or a large insurer and you have hundreds or even thousands

[7:07] Of services we allow you to run recipes just on all of those services in seconds and we do the same for some 27 000 open source projects as well so if you want to contribute to a Apache Maven for instance we allow you to run a recipe across the 90 repositories in a couple seconds you became an employee of modern how did that happen did they follow your work in the open source project yeah so it was kind of gradual so I started up just contributing issues and then you get a bit more involved there was a slack as well and then most of their team is or in the US or on the west coast and I just started answering Community questions in the slack and it just kind of Grew From There my involvement I really enjoy the project and I saw that no one was speaking about it so I figured might as well submit a few call for papers and that got more of a response than I would have expected and so I just got more and more involved and eventually I think one of the other they started asking yeah so when are you going to join and then I think by the fourth person asking I said okay let’s let’s

[8:18] Plan a call and let’s let’s see if there’s anything in there yeah but quickly what is not always clear is so you have the open rewrite project that’s open source that’s a Community Driven thing is somehow the owner of that Source or how do you need to look at that combination yeah so what Brianna was started by the yeah the original authors of open rewind it’s just a continuation to be able to fund the development of our memory art so we hope to make it a successful company as well because it’s it’s always a challenge if you give away the core for free that you have to have a very convincing product built on top of that to also support the you know the company aspect of it I find it amazing so like for instance the whole OpenJDK project is open source and then you have all these companies I myself work at Azul so that’s also a company based on an open source project so I find it really amazing that although some things are for free that it’s still able to have a company on top of it I think it’s a bit the same with Juke you have Duke the robbery that you can use for free in any project so Lucas

[9:31] How do you build a company on top of an open source Free Library in hindsight I might have done everything differently but I did start with a pet project and very naively just put it out there for free and for everyone to use and I think one of the questions you were going to ask me was when I decided to make this commercial is simply because I realized some very very large companies were using it and never said Thank you or contributed anything back but they don’t have to it’s not their fault it’s free it’s it’s there’s no strings attached so I realized maybe if these big companies get a lot of value out of it maybe I’m giving it away for two little money right so nothing at all so why not change that I’m still doing open source because I like it and also because it has a market effect but I don’t have any emotions about it I could as well be a highly focused commercial products that are only very few companies actually use and it’s with a much different price Model I think that would work as well for some use cases probably not for the SQL Builder use case but you can do other

[10:35] Things as well like translating between SQL dialect so when you migrate from Oracle to postgres I can help customers speed up that migration and that saves them a lot of money so that’s still a prototype in terms of the business behind it but there’s going to be a different pricing on that and maybe not not open source at all so I don’t know that yet so from a business perspective I think this whole licensing thing is completely overrated I mean I know all of you guys are deeply in open source I have absolutely no emotions about that topic it’s just a means to an end to me so you get something you give something so what I give is free usage what I get is a free distribution channels like Maven Central I don’t have to pay anything for all of that I don’t have to pay to go to conferences and make my marketing pitch a lot of speakers complain that they’re not going to be paid when they speak but I think it’s a wonderful when I go to conferences I can just pitch a product and I don’t pay a single Euro for that so it’s it’s kind of you couldn’t do that if it were all commercial right so open source

[11:40] Opens some doors but it also closes some doors to some revenue streams you said some major companies were using it for free never said thank you that’s a complaint that you have a lot in the open source Community yeah but I don’t complain about that how hard was the 10 to make these free users paying users so when I switched I had two strategies here so the first one was I 100 tied the license to the database that is being used so if you’re using a commercial database product like Oracle or SQL Server you’re paying them and you’re probably paying them millions so you better pay me as well and when you’re using a free open source database product like MySQL or postgres those people are probably very cost sensitive or whatever so they might be less inclined to pay for whatever reason I don’t I don’t judge but it’s it’s less likely to get money out of those people so I kind of split the code base into two parts where the commercial drivers are now only available to commercial customers of commercial databases that was the first thing and the second thing is I removed all the tests from

[12:47] The open source Edition so it’s now a completely I forgot which one but it’s the barn Cathedral and Bazaar kind of discussion so where now it’s a cathedral I’ll just put it out there open source for everyone to use but they can’t actually maintain it so users can’t really start becoming a competitor to me they could if they invest a lot of effort but it’s very very hard because without tests you’re just gonna break everything right so it’s such a complex topic such a complex domain where there are so many decisions have been made in the code base that you can’t really verify when you change anything without the test so they would have to rewrite all the tests first so this was for me especially because when I switched from all open source to a licensed I was really afraid that someone would be really pissed and start competing with me on my own IP which is something that actually happened to a competitor so I don’t know if you remember band with their slick have you ever heard of slick in Scala so that’s kind of a similar tool that has a different approach but it’s it’s pretty

[13:50] Much the same idea as duke just a different style of doing it and they have very simple drivers because they’re a scope business biggest jokes so there’s the drivers is probably what 200 lines per database product so in 200 lines you can Implement an oracle driver and when they actually had the same idea as the eyes as I did so I kind of copied this idea with the commercial versus open source drivers from them and they had just a single individual who was really really pissed and I dare say he was a bit entitled as well he just forked it and republished the commercial drivers with his own IP as open source and this kind of destroyed light band’s business and with this product so I was really afraid of that so I took a lot of measures that this couldn’t was less likely to happen if someone files a buck on your system on Duke how do you help them and how do you eventually maybe turn them into a paying customer yeah so this is an interesting question a lot of companies Thai commercial support strictly to commercial support contract and because it’s their business to sell

[15:02] Support this is a more prevalent I guess in open source because you can’t sell the license so you have to kind of sell something around the license which is for instance support but I don’t want to do that in my business I really want to make most money with licensing and not waste support So this means for this is my perspective it’s probably not applicable to all products but I want to have a really Kick-Ass product right so it must be really good and every every bug report helps me improve that and I don’t want to turn down someone who spends time investigating a bug just because they don’t have a commercial support contract or whatever now of course if they send me a private message on some email or Twitter and they don’t have a commercial support contract then I will direct them to the public forum so this is kind of a privilege that only paying customers have for instance the secrecy around the report of a bug if they want to share confidential information so I don’t do that with non-paying customers but not paying customers get all the support as well even if they they’re not paying

[16:04] Right now because I’m trying to play this for the long game I treat them like customers just the same and I hope to convert them eventually thanks to the quality of the product thanks to the features that they will eventually need like the draw however I said initially when once they switched to Oracle or have to support Oracle as well or they’re also in the meantime a couple of commercial only features which they might discover eventually and they will upgrade So eventually they will upgrade but not because they need to ask me a question they will upgrade because they need a feature and I want to make money with the feature in the end so that’s that’s what they’re paying for and I even think that making money with support is the wrong thing to do as a product company because you want to make money when the customer works right so that’s that’s my vision here so when you make money with support requests you have to actually put in work to make money and you have to justify that work etc etc so it’s it’s a less scalable business than licensing so every time you have these support

[17:06] Requests with paying customers no one else will profit from this so you have to answer like in my case for instance I have to answer how to integrate Duke with spring boot with this specific configuration and I really hate these kind of questions right so I really don’t care about how spring boot works it’s a great technology but I don’t have time to learn it and to debug various spring boot specific problem just because there some kind of Juke in it so I don’t I don’t want to do this kind of support request so what I’m trying to do mostly is have a great great coverage of stack Overflow questions for example so every question that you could have about Duke is already answered somewhere and it’s easily googleable so I don’t have to answer it again and this is completely opposite of whatever someone who wants to make money with support would do which is a viable business for some companies but it’s just not what I want to do I want to make money with features so I think these kind of customers who get a free support it’s just occasional right so maybe they will just have one or two questions

[18:07] They’re not going to convert because of support so they’re not going to pay whatever 2 000 Euros per year just to ask one question right so that they want to have this question somewhere they don’t care who answers it if it’s the vendor or some some community on stack Overflow or whatever where I also answer but they don’t care about this they want a great product with as little as possible friction and eventually they will have something they need from the product and they will pay customers who have been using Duke for free for 10 years have eventually started paying just because they have to right now because some they need something they have to pay for and they’re so happy they’re just paid right so the only problem I may have is that I don’t have enough commercial features yet to make more money but I’m working on that but I think this works very easily in all by itself have a great product have a great product experience offer a lot of value and the extra value it just costs something if you can do without the extra value then you get it for free and if you need the extra value you pay I think that a

[19:11] Lot of companies work well like that like tip brains again if you’re using vanilla coupling you don’t need just bring subscriptions but as soon as you combine coupling with spring and you need all those spring editing tools that they’re only offer in the ultimate edition well it’s a no-brainer you pay 400 euros per year or something like that and you get this huge productivity boost on your stack so why not pay it you were already happy with the free free edition right I really like your when my customer works then they will pay for the product approach it resembles a case where recently learned about it was also a an open source product which had a commercial version and they said the price is something that we discuss in relation in conversation with you we help you assess how much the product helps you safe and we take a little bit of that because the more we help you save the more is the value that we offer to you and if you take only little value out of our project then we don’t need that much but we believe that we will save you a lot of money and then we would like to have

[20:16] A little bit bigger part out of that and it saved you the money right we agreed on that I’d like the comparison you make with jetbrains and IntelliJ IDE you can get it for free but indeed it’s 400 euros the first year that you buy it but you get so much added value and if you just calculate the number of hours that you reduce in your working time because the tools help you a lot yeah you earn it back in a few weeks and that’s actually what a lot of these other projects also offer and Duke for instance I think that’s also the main idea there by just paying one time you get a lot of benefit and lose a lot of working time I think a whole part of Open Source and how products get used and commercialized is linked to the licenses I read the book of Bruno luaji the creator of ice yeah I’ve read it as well entrepreneur it’s really good book because it really describes the struggle that you can have when going from a project to a commercial thing but actually the licenses are very crucial there is that something that you can from the maven project give some info in Martin yes it is indeed rather

[21:33] Than important topic and well the good thing for Maven is they’re part of the Apache software foundation so they don’t really have to invent that wheel themselves the ASF has even their own license the Apache software license and it’s it’s pretty famous for being business friendly so if you start a project with India Prodigy software Foundation I think every project there just has the ASL as they are licensed so from that perspective it’s it’s relatively easy if you want to contribute of course you’re on the other end of the spectrum if you submit a pull request to Maven and I know Tim did recently because I saw quite a few of him we actually have a checklist where we say if it’s a small contribution you can just hereby declare that it’s under the terms of the ASL and if it’s bigger then we ask you to sign the individual contributor license agreement the icla for short which is just a document saying hey I as an individual am contributing a larger piece to this project and I’m not going to sue you of copyright infringement and that kind of stuff but if you do this as a contributor

[22:47] On behalf of a commercial company then they also ask your company to sign a similar document which is the corporate contributor license agreement or ccla for short that’s kind of an agreement between the ASF and your employer with the same terms and conditions roughly I didn’t quite read the document I just asked our lawyer to read it and to advise our management if they could sign it or not and because as I said I’m I’m doing contributions in my work time so I need my employer to agree to that agreement so they read it in advice management yes this is a good agreement you can safely sign it will hurt our business it will enable us to do what we have in mind which is contributing back to open source so please sign it and well if you have those in place then it’s from there on it’s easy with every pull request I should admit I just say yes I signed to icla and my employer signed to ccla and we’re done as you mentioned so your employer info support is sponsoring your work for Maven so you can work on the maven project during your work time how is that arranged do they say you can work

[24:01] So many days a week on that project or it has to be in relation with what we use from the Amazing Project how do they arrange such a thing it all started a couple of years ago when we decided we do benefit a lot from open source and well we just heard Lucas say a big companies using my product but they never said Thank you and we decided we wanted to say thank you how are we going to do that well the first thing that we came up with is we can contribute we can invest some time later more recently we decided we can also sponsor so financially but many projects don’t necessarily need money for instance because they are all Community Driven and they have the ASF behind them but they do need time we decided we wanted to contribute to say thank you this way we basically said let’s allocate so many FTE for that and everyone who has a good idea for a project that we benefit from that aligns with our values that is actually open for contributions you can just pitch it and say hey I’d like to contribute to this project in the end I think I we now work with two people on Apache Maven and me and a

[25:14] Colleague of mine Giovanni what we do is we roughly take one day every two weeks and then we sit together because co-programming their programming works a lot better for us it gives better ideas it gives better results and then sometimes there there’s a little bit of small tasks that we do just in our spare time or just somewhere else in the week but we try to allocate a fixed day every two weeks or so sit together and do the larger Parts I think that’s quite unique from what I know is most companies will contribute back to a project if they find the buck in their specific use case they solve it and that’s what they contribute back so this is something we need in this project so we give it back but really a fixed commitment to project I think that’s quite unique for a company I think there are more companies doing it but it’s more of their business let’s say a company like red hat or something they do a lot in open source but it’s their business model for us it’s not we’re a consultancy company so our main business is actually my working hours advising our customers and in that way

[26:30] It is quite a commitment because if I work a day on a Peggy Maven it means I’m not doing billable hours it’s as simple as that and still what is the benefit for info support that you’re doing that for one thing it is the fact that we said we do want to give back because that’s the right thing to do that that’s what open source is about making something together in a better way improving it so that was one of the reasons another one is also it’s really simple it’s a way to empower people to say to people that work within our company hey you want something special to do you want to work on something different than your day-to-day job it’s also motivating people like hey I’ve got a fun part in my job this is something not the regular stuff that I do so there’s multiple goals really but I think the most important one and the primary driver really was the fact that we said we do benefit a lot and it saves us so much time being able to use a lot of amazing tools and products for free let’s see if we can give back to those communities that let us do these things and let us use their

[27:46] Products that’s a bit the same thing that as I got involved in the pi 4G project so that’s a library for Java development on the Raspberry Pi and controlling Electronics it was also my goal I want to learn something new and experiment with electronics I’ve never done that really I did that before but that’s 30 years ago and so let’s go back to that topic and then indeed you start learning and meet new people and mainly the learning part I think is when you get involved in an open source project it’s seeing how other people develop something how they build something how they maintain a code base I think that’s one of the main things that you can learn from joining an open source projects that’s also the reason why I got involved or whatever you enjoy out of it is that every time you join a project you find out like new tools that they use or different flows that they have and it just builds your expertise in yeah more wise than just the one project that you contribute to and you take that back with you on the next project so it’s just that yeah it’s nice amplifier on growing your

[28:54] Skill set I think for a lot of developers when you’re looking for a new job your GitHub profile and the number of green dots could be a benefit but can we agree that you’re not obliged as a programmer to be an open source committer you can be still a hell of a developer and not contribute to open source I can agree there not not everyone has the time even to contribute as much or to get that green streak all across the road but I don’t know I do enjoy it when I see others are also part of the community not just using things from the community but also even if it’s just contributing like an issue or a suggestion error there there’s stuff you can do throughout the day and yeah it’s certainly not a requirement in addition of having an impressive GitHub profile is there something other that’s important as a developer within your career I would actually agree with them in saying no having this green strike is not the main Mark of being an amazing engineer or not in fact I know quite a few people who are brilliant engineers but have different ways to spend their free time and what they do in

[30:06] Closed environments you don’t see it if you visit their public profiles you will not see anything of their amazing achievements yet they do deliver amazing work but in their free time they prefer hiking or climbing or whatnot if you’re trying to impress your new employer there’s many more ways in which you could do that other than saying hey look at my GitHub profile and look at all the many Green Dots out there sure you can make fun out of it and say look at the nice pattern or hey here I took a break or here I became a father or this is where you know what but especially in commercial environments you make an impact you change something for your customers or for the company that you work for and you do that using your skills as a software engineer to actually create that impact and I think that the challenge is to bring that on the table to explain to your potential new employer this is how I created a positive impact on the life of others or on the business of others and maybe that impact is not a bunch of green dots but it’s a business running more smoothly or it’s people being able to do shopping

[31:21] Much smarter or well what not there are so many things in which you can have a very positive impact but not in terms of publicly visible code contributions and let’s be honest for some people being able to work in ite well it’s it’s their way to make a living and they don’t have the time outside of working hours to do things for free like many open source contributors do I mean sure there are exceptions to the rules but most of them are volunteers do it in their spare time not everyone has the privilege to be able to do that because they have other things on their mind they need to take care of their beloved ones or they just have their household to run or whatnot only looking at their Green Dots I think that that’s really a very narrow view to one’s personality and one’s skill set going back to the title of this podcast and becoming rich and famous some of us got rich because of their work in open source maybe I should ask you Lucas you really founded your own company on top of your projects are you one of the rich people after an open source project I don’t know about rich but generates decent

[32:36] Revenue certainly yes so you have your Revenue so that’s your income now yeah I even dropped all the consultancy business I used to do that as well to kick-start the company I used to do some consultancy for previous employers or their customers at first and then also SQL trainings and these kind of things which are easy money you know training business is easy money but I always said is that a project is something where you work and you make money as soon as you work and the product is something where you can stop working and you make money when your customers work and it’s kind of more compelling this way I think to work on products I always like to work on products because they scale not just in terms of money but also in terms of scope so when a customer tells me I need to speak teacher urgently and I always tell them okay whatever I put it on the backlog and I’ll wait until at least 10 other customers have similar requirements because I’m not going to build this for you it’s no way this is not a product a project company there’s no way you can make me build this right away it would

[33:39] Be silly for all the other customers they would have a crap product that does one thing very weirdly and then no one else can use that it’s not maintainable afterwards so in terms of making money I think this is not really tied to the business model or to the license or whatever it’s just a product right so open source things are very often products it’s just a correlation it’s not really strictly a necessity but a lot of Open Source things are libraries or servers or some infrastructure software which are products so it’s it’s much easier to monetize a product than than ordinary projects like like end users then have or like an e-banking system or whatever so maybe that simplified making money off it but then again as Martin or Tim said everything was about Community when the focus in open source but for me the focus is not at all on open source I don’t really care about community at all so in terms of contributors there used to be contributors in the past but probably since I’ve added a CLA that is maybe a bit more restrictive plus remove the test contributors have kind of gone

[34:46] Away because a contributor now can maybe provide a patch for a bike which is Trivial to fix but they can’t contribute new features without risking breaking changes and I usually just don’t want to allocate time anyway to review contributions like that because I don’t think that ordinary contributors who are not really invested in the product can make quality contributions of a bigger size right so everyone can patch a bark that’s probably possible but to contribute a new feature you have to be very well aware of the roadmap of the strategy of the product etc etc and I think for instance Maven is moving so slowly as an example but that’s a good thing for Maven because it kind of shows that hardly any idea is worth adding to Maven everyone has great ideas for them but it would be a terrible idea for the community to implement something very quickly and fast so it’s really hard I imagine I just imagine it’s hard to contribute substantial stuff to Maven because because it’s just this community that everyone talks about in open source it’s it’s a wishy-washy thing for me what does it

[35:56] Even mean for me community means all the my customers and I talk about open source users who are not paying also as customers because I treat them like customers they will eventually pay I hope so they’re premium customers right now and I don’t think of them as contributors or whatever they’re customers and I’m building it for them I’m building the product for them I want them to succeed with the product but I have absolutely no expectation whatsoever for their involvement in any kind of way and I think a lot of Open Source things would work much better this way if there were some larger backing companies that figure out the financial stuff and then people would stop harassing users to send a pull request this is my point of view but when I see that when for instance I mean Eclipse user and every time I have a minor feature request to tell me I’ll send a pull request and I’m thinking oh my God I can’t spend I can’t spend the next 50 days thinking about a feature and how it fits in the huge huge YouTube Project of eclipse I have absolutely no idea how to implement this feature let

[36:59] Alone how to implement it technically but it’s not just a technical thing why do you even say that why is this the first response send a pull request that should be the last one we should start discussing the feature what are my requirements and then we should start discussing what are my real requirements because I didn’t think this through I’m just annoyed by this little gimmick you know so I think open source is a really weird thing where people have some some sort of really weird conception about what it should be and then they will endlessly discuss what it should be and what it shouldn’t be and who is a good citizen who is a bad Citizen and by making this all commercial and all about me as the single vendor not just the benevolent dictator but a single vendor I kind of don’t have this discussion it’s just it’s a product it happens to be a freemium product the no strings attached because it’s also Apache license so it’s not just freemium so you can really do whatever you want but it’s unlikely you’re gonna do whatever you want you’re just gonna use it or use an alternative if you don’t like it so Duke

[37:59] Has a lot of competition like hibernate is the biggest one but there’s also a query DSL which is no longer maintained but it’s it’s completely free so there’s no strings attached there either so it’s kind of different from my perspective so again open source is it’s for me mainly is the marketing strategy still mainly a way to get the reach I got a blog post on Foojay as well which is about open source so we kind of find each other on that topic but I don’t have any strong opinions about Community or whatever users should or should not do I think there’s no strings attached if they get value out of it all the better they don’t have to contribute anything to me that’s actually a very valid point that you say that within an Open Source Point within any project or products people ask for stuff but just jumping in and implementing it is always a bad idea so that’s for every project you have a long list of requirements or requests and then finding the common requests of several people which can actually improve your project that’s a hard thing to find and I guess like you said Maven

[39:10] Is such a big project who decides in the maven project what gets implemented that’s an interesting question formally if you look at the ASF model they say it committers get to make short-term Decisions by which I think they mean is well you can change the code which is in itself a short-term decision right and you can participate in longer term discussions there is kind of a road map there is an idea of hey what do we want to land in Maven 4 and how is that going to help us in the next decade or so I think primarily this is what the PMC the project management committee is involved with and it really helps to reach out to them and ask hey look I’ve got quite some time on my hands now is there a way in which I could help realizing those ideas and if so would you be willing to help me on the first steps because well even with a lot of tests I mean the maple project does have a lot of tests because we well we take a different stance there than than the Jew project it can still be hard to find where to get started so you really need somebody to take you by the hand to guide you for those bigger

[40:30] Things but what really helps to get you started is take a look at the smaller issues which tries to have small issues in our backlog as well tag them like up for grabs this shouldn’t be too hard if you know your way around Java a little bit even without knowing the amazing code base itself from heart you should be able to do a meaningful contribution here and we will be very gladly helping you if if you get stuck but please do not think hey I’ve got a feature request oh by the way here’s 5000 lines of code if it’s your first contribution because chances really are as Lucas pointed out you’re taking a completely different direction that we’re thinking and that’s not us being arrogant or being oh look we know it all but we have some kind of idea of where we want to go what we do want in Maven itself and what we do not want in making itself but rather as an extension or a plugin and it sometimes happens currently we’re in the process of getting a large contribution from another commercial party which reached out to us and said look this is what we developed in-house and we benefited a lot from it would it

[41:43] Be possible to make it part of maven and we said it’s it’s an amazing feature we’d love to have it but not in this way the funny part is that after some discussions back and forth on how it worked and what it achieved we said if we add two or three more public apis then you can build the whole thing as an extension so it doesn’t land in Maven itself it’s going to be an extension which you can enable or disable as you wish the number of changes in Maven itself really got reduced to well basically exposing a few things that we already had but weren’t public now they’re part of what we could consider a public API and it allowed them to implement the feature which is a brilliant feature as an extension having minimal impact on the maven code base itself and that kind of a discussion that’s really what you need because that gives you the most quality contributions at the end of the day without having the risk of well yeah this is one feature Works work for them but not for or our so many thousands or million other users or it impacts them in a way that we do not want to risk we’ve seen a bit

[42:58] The same thing in the pi 4G projects when someone proposes a bug fix and it’s really small thing we just merge it we agree that’s not a discussion it’s a bug fixes it clear yeah and definitely with the electronics programming you have these very small changes that can improve how you communicate with electronic components so we have some contributors there to the projects who are creating examples example codes how do you communicate with a little display from a Raspberry Pi and then they find out oh but I’m missing one bit something here in this kind of command and they contribute a very small bug fix to the library which enables them to make the example application a bit the same thing like you say a small Improvement in the library can enable something bigger as an extension or an implementation so yeah that’s that’s a very nice thing that you see that people if they really understand the library and they find the bug and they fix it then integrating it and merging it is a no-brainer indeed but the big things and the big changes yet they definitely need some some discussion is this also how you joined

[44:08] The rewrite project team is with small things and then getting more and more involved in the code and understanding the code that’s exactly my involvement and I think it’s interesting since we’re maybe at the opposite end of the spectrum as converted job whereas with open rewind we of course have a core an engine that allows you to apply recipes and that is not something that’s easy to get into like we have highly skilled staff for that but we also have a very large collection of recipes and recipes which will fix some static analysis finding or contributor minor part in a larger framework migration and those are really easy to get into if you do a migration of mojito and you find a small bug you can submit a Improvement or a new recipe that will handle that certain case better and for us it’s then a strategic choice to make all of those recipes available open source and make the flow for new contributors to get into the project as easy as possible just because that’s the way that we grow that body of recipes and it’s also why we try to engage with library and framework authors to also

[45:24] Provide recipes as they make breaking changes such as at the moment that they put out a new major version that there are recipes available and I think you can only do that if you may be core of everything open source because no one’s going to contribute recipes for your commercial project because it’s just not as funny you can’t use it tomorrow at office it’s just you want to have all of that available and I don’t know yeah so it’s it’s a bit of a different strategic choice just making all of those recipes and yeah just easy to get started with and yeah that’s how we hope to grow the body of what we can achieve yeah I don’t think that’s true at all I mean look at Oracle and how big their Community is for the database and everyone contributes scripts or PL SQL code or whatever it’s not necessary for the core to be open source for how to have a community of people integrating stuff or look at that last year there’s so many jira plugins that are Atlantic is not an open source product you have to buy it right yet the community is huge and the community still interacts so what are you discussing here is a plug-in system

[46:32] Enabling anyone to contribute plugins and that’s great right so it’s like the Apple App Store and everyone can contribute apps but that doesn’t make apple an open source company so it’s I think this is very interesting I’m again giving the very business Society perspective here on open source people who are deeply involved in open source stop seeing the world outside of Open Source that’s my perspective here so I I’ve often seen people discuss in open source it is like that and I’m saying okay but that’s not an open source thing that’s a product thing every product has this attribute so every product wants to do this thing that an open source product happens that you want to do as well so I just sometimes invite people who are deeply in the open source world to kind of think out outside of the box because there’s a whole huge ecosystem outside of Open Source that’s just not as open in terms of community communication obviously so what is very specific to open source is that it’s always or almost always also an open development environment where people openly discuss stuff but that doesn’t mean that the same

[47:39] Things don’t happen in the commercial side as well it’s just not very well known and people are not very outspoken about it maybe they even think about these things as Secrets which is nonsense of course because everyone does the same thing but a lot of these things are not actually open source related but product related which is great for you that means you’re actually making a product which is very useful for a huge community and I’ve also considered using open rewrite in the past I don’t know why I actually forgot about it but it does look very interesting for Duke users to upgrade Duke API usage when I decorate something so this would be a use case right when I deprecate some API so they can just run open rewrite on it and then they use the new API automatically right well we have can you join us so if you want to guess yeah I should we should be soon I’ll write it down maybe that’s the result of this podcast that we have some UK by the way I will also include to the show notes a link to the first Dem talk that you’ve given about Opera rewrite I was impressed with how you can I think

[48:42] From Spring 2 to Spring 3 there were some you know it had some very impressive demos there so it’s a short session all the sessions from first Dem were only 20 minutes so it’s a very nice one to look at because as you said before you’re the benevolent dictator for life of your project I had to look it up on Wikipedia but can you give us more info about that well like any vendor right any vendor wants to own their IPs or benevolent dictator is kind of a weird thing that the open source ecosystem invented for people who should probably make a commercial product out of their contribution but don’t for some reason I mean any vendor is the benevolent dictator of their own IP right yes indeed yeah it’s really your project I think the term was actually first coined for kilos and Rossum who invented the Python language oh really you’re curious how you would turn a programming language into a product in that way how well what would be the commercial proposition there there’s probably ways for it I just don’t don’t see how immediately right away so look at Swift you have to use the whole

[49:46] Apple pipeline to use Swift or look at kotlin ever you have to buy the ID to write coupling or look at all the languages from the 90s I mean it’s it’s kind of no longer this a huge business that it used to be but in the 90s Microsoft made a lot of money from Visual Basic and all of it the whole thing the whole ecosystem so yeah okay that kind of makes a bell ring I would say for kotlin it’s not the same I think you can run it without a commercial tooling but indeed still change that’s that’s a very good one how you could make money out of it but would python be so popular if you had to buy a bunch of tools in order to get it working that’s that’s kind of an interesting question here yeah probably not anymore yeah that’s the whole that’s need a big change that we have seen in the last how long I’m programming 30 years almost indeed for C sharp you needed Visual Studio the phone feature Studios now with Visual Studio code that’s very confusing but I know we had the company a big box with all CDs because you had to be a member of the Microsoft program and then you got new CDs every few

[50:53] Months with the new editions and those would be pretty expensive that’s indeed a very big change if you look at what Microsoft has done with Visual Studio code which is then the free ID that they are making and that it supports all these languages they also made the switch from only their own C languages to Java and all the other languages so yeah definitely has been a lot of changes and I don’t know if you can make a new language popular again the same way okay thanks for all the info we need to end this podcast now as I should bring the things I learned today into practice and find which of my too many pet projects would be a candidate to become famous and maybe Rich thanks for listening and keep an eye on Foojay for future articles about development and everything related to the Java World thanks for listening

Found a mistake, or something to add? Edit this page on GitHub

Written by

Frank Delporte

Frank Delporte is a Java Champion, Java Developer, Senior Technical Writer at Azul, Blogger, Author of "Java Programming for Raspberry Pi - A Hands-On Guide to Electronics and IoT Projects", and Open-Source Contributor for Pi4J, Lottie4J, Sheetmusic4J, …

Written by

Lukas Eder

Founder at Data Geekery

Written by

Maarten Mulders

Passionate architect, senior developer and trainer at Info Support. Also Java Champion. I'm eager about "building the right thing" and "building the thing right".

Written by

Tim te Beek

Staff software engineer at Moderne.io, where I work on OpenRewrite.

Related posts

Join the discussion