Maybe it became a burden to maintain, attracted the wrong users, or got used in ways you didn’t expect.
Would love to hear your experience - good or bad.
Maybe it became a burden to maintain, attracted the wrong users, or got used in ways you didn’t expect.
Would love to hear your experience - good or bad.
This is literally why i think AI coding cant touch dev jobs.
In theory you can code LOADS of projects. Want a panel widget on your desktop environment, dont even know what language its in? ask ai to produce it.
but when you have open source projects, people from all over the world bring their requests and problems to you. Some are great to just merge, others you have no clue what they are doing wrong but it's totally them; and you get paid in github stars? Now there's a bunch of open source projects that are just working for me every day, but i havent modified in years and they look stagnant.
but even in the non-open source realm, no dev wants to forever maintain a project. Its not a regret, just 1 dev can probably only be responsible for a handful of codebases/projects and ai coding isnt going to super expand this.
The big issue with this, even if it works perfectly every time, is that there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project. We’d end up seeing a lot of bloat over time. I’m sure AI will claim to solve that too, just have it code up a new lightweight project. The project sprawl will be endless.
That can literally be a system prompt.
"Here are the core principles of this project [...]. Here is some literature (updated monthly?). Project aims to help in x area, but not sprawl in other areas. Address every issue/PR based on a careful read of the core principles. Blah blah. Use top5 most active users on github as a voting group if score is close to threshold or you can't make an objective judgement based on what you conclude. Blah blah."
Current models are really close to being able to do this, if not fully capable already. Sure, exceptions will happen, but this seems reasonable, no?
Why would any user ever care about the scope of the project or how you feel about their ideas? If they want your open source software to also play MP3s and read their email they'll just ask an AI to take your code and add the features they want. It doesn't impact anyone else using your software. What you'll probably have though are a bunch of copies of your code with various changes made (some of them might even have already been available as options, but people would rather ask AI to rewrite your software than read your docs) some listed as forks and others not mentioning you or the name of your software at all.
Most people aren't going to bother sharing the changes they made to your code with anyone but eventually you'll have people reporting bugs for weird versions of the software AI screwed up.
1. A project exists
2. A user forks the project
3. A user writes a feature request
4. The AI codes up the changes and puts it into the fork
5. The original project is left untouched
Albeit I'm sure that most would likely not be willing to pay to have their code reviewed and accepted in a project; but on another hand, if I wanted to contribute to GNUCash and I didn't want to read the manual, or I found the manual hard to understand, it would be like paying for training. So it can in certain cases be win-win.
And if it is a feature that is wanted, then there's no worry about it being reviewed. Or having to pay because the value will be obvious to the creators who will take it on.
In other words: Pay the developer/maintainer to care about the feature you want.
Has this ever been attempted and successful?
or ask for a donation. i am maintaining this in my free time. unfortunately i also need to work for a living. if you can contribute something then i'll have more time to work on this. if you need an invoice, i can provide you with one.
i am actually working on a project right now where i want to do this.
unless i keep using it myself.
Obsidian also has a rich plugin ecosystem with lots of open source plugins that are available and serve the same purpose (and you can use gdrive, dropbox, etc too).
It makes sense to me that they released a proprietary privacy and security focused plugin (that is their core business) and they don't want other plugins to be able to arbitrarily change the server that their plugin is pointed at.
Suppose they have a government customer who is using Obsidian Sync and the sync URL can be changed easily via configuration changes -- now the customer believes they are using Obsidian Sync, but actually their data is going somewhere else.
I don't think you would be surprised to find that e.g. a dropbox daemon has protections to make sure it is pointing at dropbox.com. Why would you expect Obsidian to be different?
(disclaimer: I work on a different plugin that adds file sync and collaboration features to Obsidian)
I tried this on a windows laptop and another main machine. I just ended up keeping my iPad nearby.
When I tried to copy my vault off iCloud, the copy failed and two years of notes were permanently lost.
I’m never putting anything of value in iCloud again.
The ipad is the real stick in the mud and I don't want to deal with an icloud staging zone for everything else, or try to get icloud syncing on linux/android.
For that, I use Syncthing [1] in addition to iCloud. It works exceptionally well – I see my edits in real time across different devices.
Great suggestion to make in advance placeholders to contain side projects.
In what ways do you trust, and not trust, your colleagues?
How do you feel about that?
The better question is in what ways do you trust, and not trust, the company you work for?
And the answer to that can be very complicated, and depend on the company a great deal. It also depends on who might buy the company in the future, and they might not be trustworthy at all.
Where does the workplace dishonesty start and end?
Does the person think that their colleagues have the same rules, or different rules?
How does that affect their work environment?
(Incidentally, I'm sick of HN downvoting legitimate comments.)
Nobody is entirely honest to everyone about everything in their workplace. You really think everyone is actually sick on every single sick day, or that every single doctor's appointment on their calendar is a real doctor's appointment? People never make excuses to their manager that are lies? Managers never lie to their employees about a justification or a deadline or a promise or a policy?
Workplace dishonesty is everywhere. Because workplaces are made of human beings. It's just something you learn to manage in a realistic way. People are mostly honest, but they're never entirely honest.
...I.....used to. Huh.
If workplaces are going to invent dumb rules, then honest hardworking employees are going to feel justifying in working around them.
I've had experience with a similar "committee" (probably same company) and I concluded the safest path is to just not do side projects while employed with BigTech.
That can be difficult when you work for a company that has it's fingers in almost everything.
Sure, a company could not like you doing that and find a reason to fire you, but they have no valid legal recourse and you may even be able to sue them for wrongful termination.
We are one of the only states that prevents employers from having ownership of your brain on personal time.
Corpos have tried to claim ownership of things I did in my personal time, multiple times. I just show them this law and they back down immediately.
Having rights to my own brain is a big reason I live in California, cost of living be damned.
https://california.public.law/codes/labor_code_section_2870
IANAL, but know your rights!
> (1)Relate at the time of conception or reduction to practice of the invention to the employer’s business, or actual or demonstrably anticipated research or development of the employer;
So, if you work at $BIGCO, they will argue that since they have their fingers in everything, that anything you might work on "relates" to their business or actual or demonstrably anticipated R&D. This is a truck-sized loophole.
There is not a paycheck big enough to make me give up the freedom to do whatever I want with my personal engineering time.
I have only worked for employers that do just one thing, so this law offers me lots of protection.
The short version is, what do you know, if you make it easy for smart people to start new companies for their big ideas, they’ll do it. And if you don’t? You don’t become a tech hub, no matter what else you’re doing.
I tried to re-license a previously-released project (like from GPL to MIT or similar) and they wouldn't budge. I had written all the code.
In the end, I decided that them suing (or firing) me to assert their ownership of $VALUELESS_PROJECT, so they could then license it back, was ridiculously unlikely, said fuck it, and did it. And I was right.
It also keeps open the option to sell to an incumbent (possibly helps maximize the value of that option as well).
And if it's not that, it's someone (who very well may be qualified) being unnecessarily passive aggressive trying to make a failure of your own seem like a show stopping nightmare that they'd never let happen.
What I really don't like is that sharing anecdotes like the above often invites equally annoying "tHaT's NoT mY eXpErIeNcE" type comments which leads to a sort of "who cares, just do the best you can and ignore everybody" mindset (which can be helpful at times, damaging at others).
Aside from all of that nonsense, it's great because you have other sets of eyes looking around that may see something you didn't. This is incredibly valuable if you're a soloist or small team working on a big project.
https://blog.getpaint.net/2009/11/06/a-new-license-for-paint...
I had death threats once for raising a github issue!
Fully agreed. FOSS maintainers don't owe you anything. You can ask for whatever you want, politely, but accept no or "maybe when I have the spoons, which may be never" as an answer, and don't push.
This was one of those niche industry specific things that no one would give a crap about if it was open sourced other than the competitor in the market.
Principal architect was tossed on the street for that one.
Long long (2016 ish) ago I released an Unreal Engine 4 plugin that let people embed chromium embedded framework views into the engine via textures, so you could make fancy HUDs or whatever.
Epic Games was kind enough to give me a developer grant for open sourcing and making it, cool as hell for a college student at the time, helped pay my classes.
The number of angry game devs who basically wanted me to solve all their problems for them for free was astounding, additionally another dev grant receiver was jealous that I got money close to their grant for “just making a crappy plugin”
(paraphrasing but that was essentially what happened)
No one is ever thankful lol.
The folks who are in proximity, folks with requests and complaints.
Only one item became a bit popular, but was written for MS-DOS ages ago and I hear it is still used by 1 person :)
It made me feel maybe magicians had something, when they decided some knowledge should be esoteric and earned, given that it was so trivial I never listed it on my CV.
I think infosec, as a field, sometimes darts between too much obscurity and too much openness.
I certainly keep my own "grimoire" of useful code.
Now, with LLMs, exposing your source code essentially hands over a large chunk of your hard won expertise for free to whoever wants to use it. That old model of 100% open source is broken, to my mind.
The new approach I think should be open source stubs with demos of what is capable with your additional proprietary piece.
Industry practices that over commoditize human talent are bad IMO.
Our whole industry needs to bend its collective mind to maintaining economic participation. We’ve possibly put too much of a strain on society with LLMs. Especially as more and more people cotton on to what other services they no longer need, as models get better and better. We can’t survive as a species if too much of our lives are based on self-gratification, we have to maintain the drivers that make us interact and learn to get along.
That won't work. The breaking of that model is far more widespread than one thinks because of how it was broken.
The breaking of the model breaks underlying models all the way down to the basis for economic distribution of labor.
Its a phase change where labor and expertise are free, without restriction and the people with that expertise do not receive economic benefit for it anymore. In short, your demand curves goes to 0 in that area. There may be a great need for something, but if the demand is 0 no one will fulfill that need. People aren't slaves. Many people conflate demand with need, Hayek in his economics in one book cover the distinction. TL;DR demand is the group of people where there is a point at which two parties are both willing to exchange something for something. Need is where no such crossection between the S/D curve in exchange can occur for the two parties involved. One is much smaller than the other, and at 0, it doesn't happen or you only get the efforts of slaves.
The trend is inevitably towards stalling the economic cycle, where such experts simply do not create such things, they do not share, the ones that could either abandon that expertise or they withdraw keeping it to themselves.
The vast majority of all action though is done for economic benefit, and when that's no longer the case people don't do it. People aren't slaves.
Better to do that by not sharing how as much (source code), but rather what (interactive demos).
That's just the main idea, but also:
1. LLMs make existing software (even obscure stuff, so long it fits in the context window) more intelligible:
- how do you compile this (when you are inexperienced and the ecosystem of that language is a baroque mess, it might seem impossible)?
- what does this error message mean?
- what parameters do I need to use in my invocation to get it to do XYZ?
- what does this function do? why does it use this algorithm?
2. They also make new software easier to write, and existing software easier to modify:
- ask about anything concerning the part of source code that fits in a context window, and you'll get a (probably correct) explanation of what it does, faster than a half-dead IRC channel or StackOverflow would respond
- the above, but also: the LLM has infinite patience and can drill down as deep as you want. You can ask "OK, but why?" for as long as you want, as about anything you want. You might get a hallucinated answer sometimes, but a frustrated human who would be asked the same way, could also just make something up to shut you up.
- for anything in the context window, ask about how to go about making a functionality change to add or modify a feature
- the above, but if it's small enough, just get the LLM to write the change for you. It might be buggy and messy, but you'll be one step ahead if you lack the skill to make the change yourself
- how do I set up the build chain? Why is my compiler not picking up the path properly? Is the project directory structure wrong? This used to be a huge problem before LLMs, and relied on undocumented knowledge.
---
For me, the whole point of open source is ready-made, (hopefully) not too buggy components that I can use and customise as an end user, or plug into the thing I am building as a developer. LLMs make the freedom of FOSS become much more practical, particularly to those sympathetic to the movement but technically less experienced.
BTW most business-astute maintainers always managed a closed piece of expertise which is what they charged for. I’m saying that proportion needs to grow now.
do you want to give RMS a heart attack?
RMS founded the Free Software movement to protect the users of software.
to redistribute power back into the hands of creators who were getting walled out of anything but proprietary work for an employer. If they were fired, they had nothing to show for years of work except a reference, since their deep expertise was essentially meaningless
ignoring the fact the big philosophical different between Free Software and Open Source, neither had the above as a goal. for the first decade or so of the movement, all Free Software and Open Source development was done by people in their free time. practically none of it was done at work. the exceptions are MIT and BSD projects which both predate the Free Software and Open Source movements.
on other words, developers always had the ability to do stuff in their free time regardless of the license. those that live in countries that allow employers to own everything had to fight their employers to be allowed to do so, and they still have to do that. the cases where employees are getting paid to work on Free Software or Open Source are rare, although they are less rare today than in the past because more companies release their sources. but again, this was not the goal at the founding. at least not that this should help the developers. the goal was always to support and protect the users, to allow them to share and modify the software they use.
Stallman explicitly warned about working on proprietary software for an employer:
> “If I sign a nondisclosure agreement to work on a proprietary program, I am agreeing not to help you. I am agreeing to withhold information from you, and to refuse to give you a copy so you can learn from it.” This isn’t just about ethics toward the public — it’s about how such arrangements strip a developer of the ability to show, reuse, or build on their own work.
GNU Manifesto (1985).
My understanding is that the purpose of Stallman's free software movement is "that the users have the freedom to run, edit, contribute to, and share the software." The FSF is focused on "defending the rights of all software users." Its about the users, not the developers.
I guess it really depends on how popular your project gets. I have no idea if my stuff is used or not[1], so regretting is maybe kinda hard?
I’ll keep doing it, though. Might regret it at some point, but I get so much value out of open source, it feels wrong not to.
[1]: Judging by the lack of patches I’d guess my work isn’t used, though.
Most notably, I published a little browser extension I created to scratch a personal itch. It got a little bit of attention and users, and then the feature requests started coming. Among a couple reasonable ideas were big demands like make it work on different platforms, make it integrate with other sites, or make it work entirely differently. And unhelpful bug reports that often didn't even make sense.
Not one of them ever contributed to the repo, and many of them were ungracious and demanding in nature. Fortunately nothing outright hostile, but it still left a sour taste in my mouth for daring to share a neat personal project as-is.
Everything else I've open-sourced has gone pretty well, comparatively.
My friend kept locking himself out of root and would be forced to single user the system to recover. This was difficult for many reasons, including remote hands costing up to and including $50 per call. I decided to look into why su would only work with root. Found a very simple check that I thought was unreasonable. Made my first patch and proudly posted to the FreeBSD mailing list thinking I was going to change the world. Man, instead I come back to everyone chewing me a new one, calling my friend too dumb to use FreeBSD, and other things that was not rooted in reality. I didn’t even try to defend my patch, I had spent so much time evangelizing FreeBSD up to that point that it really made me question my support of the project.
Anyway fast forward like 5 years, I was telling the story to coworkers when I decided to look up the su source. shocked-pikachu someone took my patch and applied it (without attribution). I have since moved on from FreeBSD entirely and my open sourced works have never been so negatively picked apart again ¯\_(ツ)_/¯
I've released several tools, and for most of them, I've heard nothing from anyone.
But 3 got somewhat popular in their niche and most of the inquiries and requests were from people who seemed to think they were entitled to free support and feature requests. Many times, they got pretty rude if I refused to implement their feature or I took too long to release a fix.
It really turned me off from releasing open source code and then interacting with users. I'd rather just release the code, and forget about it, only patching on my own terms.
I’d strongly recommend trying again and reaching out to the friend of a friend who informed you of the role and asking for a more direct intro to the hiring manager. Unfortunately, it’s really really easy to slip through the cracks as a resume, and one feels no remorse rejecting a pdf file. Even without the warm contact, some way of directly reaching the hiring manager (notably: not the recruiters!) would mean that “I wrote that library!@ becomes front-and-center, not buried as a line item. I’ve seen so much more success with myself and the people I know in cold or warm outreach than through job application portals. In fact, I’ve yet to get a callback from a single job I’ve ever applied to online!
As an aside, does anyone know why the AI labs have such bad recruiters? I successfully got a job at one and am currently working there, but I still have many many complaints about the process.
is it rust???
After I left I would still receive emails from frustrated users, but I had no access anymore. I could have forked it, but it just seemed too messy. I made some suggestions and wished them luck.
There is a lesson here, somewhere, but mainly it just convinced me to not rock the boat for the next decade, and to seek out smaller companies for employment.
When I did veer into enterprise environments, I regretted the NDAs I signed. It was annoying to later want to share some illustrative anecdotes but have to censor myself. And it wasn't like they were state secrets, just stuff that was amusing and apropos but someone might be able to trace back to the NDA contract period due to the small world we seem to inhabit.
Otherwise, I've been in university-linked R&D and generally went with folks who declared projects open source before we began any real effort on it. That's the only way to be sure.
my works had one condition: attribution
now it's all been slopped up by "AI", without attribution, primarily to devalue the labour of software developers
Around 2005-6 I wrote a Mac OS X client for Xbox Live. The idea was I wanted notifications on my computer when my friends came online and started to play certain games, so I could turn on my Xbox and join them. This is a feature of the Xbox mobile app today of course, but back then all you could do was either be on the Xbox or sit around refreshing a web page, so the app was useful. I published the source and the binaries on Google Code, partly because I just wanted to share the app for free, and partly because I wanted to be transparent that I was handling the Xbox login credentials safely.
One day the app blew up and got a lot of coverage in tech news and link aggregators (like Digg, haha) and I suddenly had a ton of users. Eventually I figured out why. It wasn't that my app was so great exactly, but rather the idea that Google was writing a Mac client for Xbox made a great tech news story. However, that part of the story wasn't true, the project had nothing to do with Google, I was just hosting it on Google Code because it was at the time the most convenient place for a small open source project.
The episode made me wonder how often that happened. How many other projects on Google Code became part of a news cycle because people misinterpreted them as being written or endorsed by Google? Was that part of why Google Code was shut down?
I don't remember the exact details, and I was way in the backend (Kythe), not the frontend part of it. But my extremely hazy recollection is it probably had more to do with the gwt deprecation than anything else. There was headcount for awhile put on making an angular (?) replacement for the old gwt frontend, and I guess that didn't extend to also making a replacement for Google code.
Again, super fuzzy recollection here, from someone 2 teams away.
I strongly believe in the principles of OSS for things like frameworks and tools that everyone in the community can benefit from. But, when it comes to extremely complex end products like Word, Photoshop, AutoCAD, etc., it's a lot harder for me to buy the community-is-better argument. Even in some cases the frameworks & tools being semi-proprietary has major benefits (.NET/Visual Studio dev experience).
There are tradeoffs with everything. The key is focusing on the customer. Who do you want to keep around as your customer? You aren't going to make everyone happy. Someone is always going to be pissed at your particular approach. Might as well take a path that makes you a little bit of money if you can.
Both of them expressed regret for not commercializing it. The weird part for me, as the interviewer, was hearing them imagine how wealthy they’d be if they had commercialized it instead of releasing it as open source, entirely neglecting the fact that the projects became popular because they were open source.
I imagine this is the thought process behind the various projects that try to go closed-source and commercial after a certain point.
sexyman48•3d ago
bruce511•2d ago
Firstly your appeal to authority , and then using Steve Ballmer as your authority is perhaps not the best way to start.
Secondly you say that "no professional programmer" - but the statement is false. For starters it's a sweeping generalization which is trivial to show is untrue for at least 1 programmer.
Thirdly the existence of Open Source alternatuve does not make a product uncompetitive. You need look no further than Windows to see that's true. Indeed if we has to list all the commercial software that exists with an Ooen Source clone, we'd be here all day. I'd also argue that Joe public doesn't even know what open source is, much less factors it into a buying decision.
If you are building tools for programmers (already a tiny niche target market) then you need a hook other than Open Source anyway, cause programmers are a terrible target market.
I say this as someone who builds tools for programmers, and who sells commercial into a space that contains Open Source alternatives. And I do ok.
carlosjobim•30m ago
tliltocatl•6h ago
sfRattan•1h ago
1. Build a piece of software that actually solves one or more problems.
2. Keep ownership private and limited. Once you're publicly traded, long term planning becomes impossible and "line must go up" becomes the reigning false god.
3. Sell a perpetual commercial license to the version-at-purchase, and offer subscription for updates after purchase. On cancellation, stop providing updates but do not disable that customer's last working version.
4. Optionally, dual license under a free license that prevents competitors from eating your lunch (usually latest GPL or AGPL, depending on context).
If you're implementing the above items, it's absolutely possible to run a profitable company.