DEV Community

Discussion on: Pay your rent from open source 💸

 
liyasthomas profile image
Liyas Thomas

You're awesome 💯

kindly share your GitHub link so that we could check out your projects.

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

I feel the need to express something I have been thinking about. Even though I say I wish I had more time to pursue these things as my day job, and this is true, I also can't really say there is not enough time. The time is there for me to pursue them more fully in my free time, I just choose not to. This is my choice, nobody is forcing it on me, and I don't regret my choice. Seeing as how this is my choice, I need to learn to be more comfortable with it and happy about it. Of course it is still somewhat annoying that I can't work on these things more on the job, but it's not as if I have fully pursued being able to do so and was shut down. I keep the flexible and practical job that I have for reasons I don't regret. There is still the possibility I will be able to pursue my biggest ideas on the job one day, even at my current place of employment. But I know now is not the right time to propose that. So I will keep doing what is best for the team and the companies services and customers. By doing the best I can with the time I do work, I still hold out hope that one day those two goals will align with each other, the goal of working on what really makes the most sense for this job and the goal of working on my biggest ideas. It is my hope that when I get to that point, as a result of the extreme value I keep getting better at adding to the company, I will have also earned enough respect and political capital to be able to negotiate that we develop those big ideas as open source projects.

So far I have had success with similar goals at this company, as in they keep giving me more and more freedom to do things according to my best judgement. Even if this does not work out as I hope, I still do not regret my decisions of how I have been spending my time. I am confident there is a time coming when mankind will be able to pursue their hobbies with a certain amount of leisure. I'm not saying life will be focused on that, but we won't have all the stresses and demands we have today. Anyways, I don't want to use this website as a place to preach, and we are now veering into my religious beliefs, but my point is, that is one of the reasons I don't regret how I spend my time. There is a time for everything, right now is not the time for me to fully explore and pursue my biggest and most interesting programming ideas. Anyway, I still have some time now to have fun pursuing these things.

Here are the links you asked for

Living tests - github.com/still-dreaming-1/living...
This is a Node.js testing library that organizes your tests in a strange style that makes it possible to run them as you write them and get immediate visual feedback, if you use codi.vim from Vim or Neovim. It is a bit outdated now as I don't write Node.js code anymore. I never moved it into one of the package manager repositories for easier install. If someone wants to take over as the maintainer, or fork it and maintain the fork, this might be for the best. I am still open to fixing reported issues, but people don't report any.

vim-project-search github.com/still-dreaming-1/vim-pr.... I use this daily when I work, and it has really improved my productivity. Basically it lets you search through the code of your current project, and potentially edit the code directly from the results, or you can easily navigate to the code from the results. It is designed to eliminate as much friction as possible, providing a very optimized search and edit workflow. A while back, I started releasing open source code for Vim/Neovim customizations and plugins. If I really want this stuff to be useful to the most number of people, I need to change the elhiv library to be fully uninstallable just by installing it from a plugin manager the normal way, with no extra steps or temporary error messages that scare people away or prevent them from wanting to complete the installation process. I may do this one day, but I would have more motivation if someone requests it or another person mentions their difficulty installing one of my Vim things.

I don't have any of my big ideas released as open source projects right now, other than an old attempt that didn't go anywhere called PurposefulPhp. My latest attempt to implement them has taken a more practical turn in that it has resulted in a currently very small Kotlin library that is immediately useful in improving the expressiveness of your code and allowing the compiler to catch more of your mistakes. I am using it in a closed source program I am making in my free time. I am going to keep this library closed source for now because I may want to donate it to the company I work for at some point, and would rather negotiate working on it as on open source project on the clock in good faith, rather than use the fact that it is already open source as a bargaining chip where I am somewhat trying to force their hand.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

This is gold. Please allow me to quote your comment in an article which i'm preparing. I think more people need to read this so that they'll also be inspired as I did.

Lots of love, keep doing what you love.

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

Sure

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

Just an FYI, I am rethinking my decision not to release that Kotlin library open source very soon on my own. I will explain more about why when I have more time.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

my inbox is open for y'all. ✌️

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1 • Edited

Okay, so the only reason I'm saying this is I recently said the opposite, so I feel compelled to correct myself. Even though I said I will not be releasing that Kotlin library as an open source project on my own any time soon, I actually might. The truth is I have been highly conflicted about this decision for some time now, and keep changing my mind. I thought I had a moment of clarity when I was typing that last reply when I first explained my decision not to, but it turns out no. When you think you have come to a decision, it sometimes helps to think about if you are really willing to stick with that decision long term, no matter how things play out, or if you would regret it. Depending on the decision, it might be okay to change your mind, but other decisions you may need to stick to. I was thinking, what if I donate this library to the company I work for, and they accept it, and then later they don't allow me to open source it? It would belong to them and them alone. I would not be okay with that, and would regret my decision. It might be better to just get it out there as an open source project soon. That would not really be forcing anyone's hand, I do have a history of releasing things open source, so it's not like I'm just being manipulative, it's just being real. This way if they don't let me work on this open source project on the clock, I can still do so in my free time, and there will be proof it existed before I started writing similar code for them. What makes all of this both a little tricky and kind of nice at the same time, is this library I made is actually just how I write code now. Even if they don't let me work on it open source, I would end up recreating something similar for them, because it is really just the way I think now when writing code. To say that one person owns it would be like saying object oriented programming is owned by one company, and they will sue anyone else who writes OO code. In a way that is nice because it gives me a legitimate way to write code like this anywhere. At the same time it could put me in a difficult place if I'm working on the same classes at work and in my off time, and I can remember the differences between them and I why I made the decisions I did. This would make it difficult for them not to become more and more similar, perhaps even identical. But that is also a line of reasoning I can use as to why I should be allowed to work on it that open source library on the clock, and why we should use that library for our work projects.
Another possibility I have considered is leaving it closed source forever, owned by me. I could then use it to develop closed source programs that I release as pay for apps or services. The idea is this library and other tools I build around it would give me an advantage in quickly building high quality, robust, almost bug free programs. I realize this sounds a little selfish, but if I made enough money off these, I would retire, and then would have more free time, which I plan to spend in a very non-selfish way. But let's say this worked out, and I ended up donating my free time writing code for a non-profit organization. I would end up wanting to use those same tools and libraries while working for them. So I guess open sourcing it now is the only way to go since I want to be free to use this library and other tools I build around it in my personal projects, and at any organization I work for.