How I earn a living selling my open-source web-based invoicing application
indiehackers.com
indiehackers.com
This would be an interesting model for quite a few services. It reminds me of Ubiquity's cloud key. I wish some government grant contractors would try it.
If you’re clever or worried about business continuity you can learn from the practices of some enterprise it providers and add built in self checks, call home, and even charge for preventative maintenance. For example, “We noticed your dongle is overheating / having flash issues / whatever and not running optimally. Here’s a replacement.” Or - “we noticed that your dongle hasn’t been used in a while. Is it ok?”
Besides, depending on the reliability of the available internet connection, it might be also useful (and easy) to add an embedded mobile connection as a fail over.
I know a guy who had some issues for that reason. The quality of the customer's LAN was extremely poor, but the customer (out of ignorance, bad faith or both, it wasn't clear) always blamed his software.
I also used to be concerned about persisting data on a RPIs because of the SD card problem.
But this setup is quite comparable to a standard Linux box with no replication. From there you can setup ZFS if you care to, or be satisfied with daily backups to the cloud.
Any part of the box fails? Send over a new one the next day which will automatically pull all saved data once the login/password is typed on the setup page.
"Any part of the box fails? Send over a new one then next day then plug one of the USB sticks in and it'll automatically pull the encrypted saved data from itonce the login/password is entered."
If people are choosing a local box instead of her hosted offering, cloud backup might be a deterrent rather than a feature. For the ultra paranoid you could even sell them a spare which they can keep on-hand to swap in and get back invoicing immediately.
1) Regular SD cards were never designed to be OS volumes, of course they're going to fail when used for that. Buy better SD cards, like ones with high write endurance.
2) RPi 4 does not need to boot off SD card. It can boot from any USB drive of your choosing, or over Ethernet.
I don't know if I've mentioned this on HN before, but my brother works for an oil services company, and they have deployed hundreds of RPis across sea and land rigs, mostly in the middle east. The land rigs are mobile, and as you can imagine, the middle of a desert in Oman is a pretty hostile environment. Despite this, they haven't had even a single failure across all these devices in over 5 years. Not one - and they boot from SD cards!
The stuff running on the RPis isn't very write heavy, and the cases are only lightly ruggedised (I forget the brand, but they are consumer gear, nothing fancy), and I forget what brand the SD cards are - but this is why I roll my eyes every time this is mentioned on HN (which is every time RPi is mentioned on HN). I really wonder what fraction of people repeating this reliability claim even have an RPi.
Younger generations have not had these issues for me. While I assigned that to my experience, usually reducing logging to sd card, booting off of USB and fewer unexpected power losses, it may simply not be an issue any more.
Though in my experience as a technician installing 2.5" consumer grade / entry level Kingston/ADATA SSD to several clients, this is what generally will kill NAND flash devices, it's not an exclusive phenomenon to uSD cards.
I have a few running RPi's on premises for years. Ranging from v1 to now v4, certainly the only uSD 3 failures I have had has been with the early models and reliability went up with...... just a No-break power source. Just that.
It seems a lot of people think a sudden power loss it's what's only dangerous for electronics and NAND flash devices but for devices that are highly sensitive to browning down power rails (specially those first v1 raspis) any unstable power source is a rave party from which is hard to get out unscathed.
But it seems what I was looking for are boat chargers. They're meant to provide energy through solar/battery and charge at the same time while parked on a deck. Didn't followed it up though.
I've always wondered if any organizations have tried to make something like a Sandcrawler.
I tried to hire some to start such a project but I must have been looking in Alderaan places ...
Of course, it's not just 1 piece of equipment that moves around it's people, tech etc - some land rigs are almost semi-nomadic, with the whole camp moving around.
[0] https://www.nov.com/products/mobile-rigs
[1] https://www.nov.com/-/media/nov/files/products/rig/rig-equip...
I think that reduced the number of writes to the sd card allot.
I haven't seen reports of these particular cards being counterfeited yet, but still... you probably shouldn't buy them from Amazon...
[1] https://www.westerndigital.com/products/commercial-removable...
[2] https://shop.westerndigital.com/products/memory-cards/sandis...
I believe over-provisioning space to delay wear if you write much can also help (in conjunction with wear leveling).
[1] See this thread:
https://www.reddit.com/r/raspberry_pi/comments/ex7dvo/quick_...
When I launched my first startup, I also did something similar. Though we were selling a service: we'd deliver it as a 'box' (my co-founder actually called it 'the box' - before SV was aired :) ). It was in 2011, and we didn't have the RasPi back then so we used something called the SheevaPlug [1] . It didn't have a display port, which we'd needed later on, but it was great for plug'n'play'n'forget installation. (Actually one of these is still running at one of our first customers, even though the backing service has been shut down ~5 years ago. Probably nobody knows any more what it's doing and they just think 'better not touch'.)
It's the easiest and most logical way to deliver some of the software/services. It mostly depends on whether it's something you want to interact with on your own machine (and a single machine) or whether you want to have it always running and/or multiple people to access it.
https://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity...
But it was an interesting read.
The user accesses it with a small desktop application which finds the box in the same network by itself and opens open3A.
I think that providing support for free version is somewhat unique, however it does make sense - the longer people use her software the more likely they purchase add-on or subscription.
That way she can hear about frequent needs of users who don't buy the thing when it lacks some essential feature, also could upsell existing extensions or the boxed version. Customers often have no idea of potential the software offers.
Simply it is support+marketing+sales number.
I suspect that approach wouldn't work nearly so well if the connection between the software you're selling and the money rolling in to their bank account wasn't quite so obvious. I probably wouldn't try such a generous free version of, say, wiki software or document management or backups - things that are way too easy to consider as "cost centres"...
There's no customer success team for open source software, I don't care how good the community is. A significant chunk of the money charged for my services went back to the founders to continue their work. This is a fantastic model for open source.
I encourage more people to connect with the founders of popular projects and arrange a system whereby you can offer training and support on their behalf and in their name (obviously they should vet you). I'm happy to discuss the particulars of this, including how to sell training and support, how to handle contracts, logistics, all of it. I know this business well and I think it is a net good for all involved. Email is in by bio.
I don't get this part:
> In 2021 I recently launched my newest product: It's called open3ABox and it's a raspberry pi with open3A pre-installed which I deliver to my customers who have not the technical skills for their own server but don't want a cloud version either. It's fully remote managed and monitored by me more steady income, yay
When people object to cloud (SaaS really), I tend to think it's about what you could variously describe as ownership, control, privacy, and security. They want to be the only ones who can access their data. They want updates to happen on their schedule. If you want the developer to manage and monitor your installation, why not use a hosted version?
Another reason is bandwidth, but I wouldn't expect that to be a significant consideration for invoicing software.
I would love to hear how the management part got implemented.
Every open3ABox has an open websocket connection to my server. I do the monitoring over this connection and for updates and support I tell the box over the websocket connection to forward a port via ssh to my server. The port will be automatically closed by the open3ABox after three hours.
This means no constantly open port and an encrypted connection where only my server is allowed to do a remote function execution (get monitoring values, open port, etc.) on the box.
Reverse ssh tunnels are a really good way to manage stuff like that.
Thank you for the explanation!
If the app is hosted entirely in the cloud, _everything_ is gone if the provider pulls the plug suddenly. If the app is hosted on a device that I own and the provider goes away, it will probably still keep working for a while. Worst case, I still at least have the option of hiring someone to crack it open and extract the data to import someone else.
This is such an important concept that it even has its own field of study and practice called "business continuity." Many business have legal agreements with customers and partners _requiring_ this.
And keep in mind that "Raspberry Pi fails" is a more common scenario than "provider goes out of business", so from the perspective of minimizing the scramble, that's the one I'd be more concerned about.
A bit more about backups: for something truly important, you should have an offline copy, in case a malicious party compromises credentials that can be used to overwrite both the primary and the backup. I don't think you should depend on the vendor backing up your data. Some things you just have to do yourself, unfortunately.
Even that worst "single person provider got hit by a bus" case is already somewhat mitigated here - since the software is open source.
I'm guessing she's likely set this up so anyone with physical access and appropriate credentials (which the client has by default) and linux experience, could manage/maintain the RasPi box and/or migrate everything to a self hosted version on a more "regular" linux box.
They usually use the Windows version but don't do backups and if something fails it's a nightmare to support.
It's a pretty common use-case for companies. They want their stuff on premises(for a variety of reasons), but don't want to deal with maintenance.
To rephrase my question: what are those reasons?
Public: https://videohubapp.com/en/
GitHub: https://github.com/whyboris/Video-Hub-App
Charityware: https://medium.com/@whyboris/charityware-doing-good-with-pro...
Given I've spent 3 years building it, I feel comfortable selling it for this price. When I first released the app I didn't have the source code available; so it's more like a "commercial product" with the source code available if anyone is interested.
thanks man !!
I will be working on adding facial recognition; I might have a pricier option for facial recognition features perhaps.
Perhaps there are others here that can offer feedback and advice.
Research and experiment. If you do embark on this, a postmortem write-up with your learnings would be a great read.
Best of luck with whatever your plans are. It's a cool app!
Just purchased 2 copies cause I am lazy building it from source & cause charity, why not!
Tested the demo about 1 hour ago and I was impressed. Very good UI and fast scanning, although on the icons are a bit on the small size for my taste but excellent otherwise.
Keep up the great job :)
Maybe George Costanza's idea -- The Human Fund, Money for People -- needs to be revisited.
I think the long term large impact of pushing back against these ethically questionable things, even at the expense of your long term career earnings potential, would have a better result for society.
If you can't push back on that stuff internally, consider publicizing the behaviors and starting a conversation around them.
Don't just dump money into a charity to assauge your conscience.
Just about 100% of the US population have no experience with malaria. Yet it costs about $2 to provide a insecticide-treated net that protects on average 2 people for 2-3 years from malaria (while they sleep -- a common time for malaria transmission). There is arguably nothing you can do with $2 of resources in the US that can do as much good as this.
So, please focus on cost-effective charities with a proven track record, that use evidence-based methods to help individuals, and do it in a transparent way (so you know what's happening when you donate). To make it easier, start with GiveWell - an independent charity evaluator: https://www.givewell.org/charities/top-charities
---
[0] Semi-relatedly, https://en.wikipedia.org/wiki/The_Save_the_Children_Fund_Fil...
The great news is GiveWell has been doing this for over a decade (full time!) and has excellent recommendations.
You seem to have missed my point: Doing evil things for money and then donating some of that money to charity is generally worse than not doing the evil things in the first place.
"We search for the charities that save or improve lives the most per dollar."
They appear to be pretty transparent about how they choose charities to recommend. I don't want to misrepresent them, so please check out their site if you want more details.
https://www.givewell.org/charities/top-charities
ps - I also, for 10 years now, give at least 10% of my income (aside from this project) to cost-effective charities as per my pledge through Giving What We Can https://www.givingwhatwecan.org/ -- this is one of many initiatives that fall under the umbrella of EA (Effective Altruism) https://www.effectivealtruism.org/
I donate to Wikipedia and the archive.org. I practice rational ignorance: I estimate that the costs of learning more about effective charity are far above the costs of doing it wrong. Maybe Wikipedia uses the money to create more and more small-fry side-projects (Wiki-maps, wiki-this, wiki-that). Maybe it funds Wikifeet, which is thoroughly weird. I don't care -- Wikipedia is one of the greatest accomplishments of H. sapiens sapiens.
(Malaria is still a big problem, and it's so cheaply improved upon -- if that touches your heart, go for it!)
"Effective" just means you don't want to waste money or time on values not important (according to either receivers' opinion or your opinion).
The fact that Givewell chooses certain values (the rational ones) and Christianity slightly different values is orthogonal to the concept of altruism.
Even if I believed in Flying Spaghetti Monster I could care whether others have a steady supply of macaroni. This makes me an altruist in my book. And I could act effectively about it. But I wouldn't complain about Givewell in that case.
And that's why I don't like conflating rationalism with effective altruism. It's just another case of emotional loading of a phrase.
A particularly cutting piece I like to remember is:
"But here’s the thing. You can’t help Uber build Greyball during the day, or help Palantir design databases to round up immigrants as your main gig, and then buy ethics offsets by doing a non-profit side hustle. We need you to work ethically during that day job much more than we need you working with that non-profit." -- https://deardesignstudent.com/ethics-cant-be-a-side-hustle-b...
He's outspoken and hard lined and uncomfortable to listen to. But he's probably right as well.
But I don’t think that’s the case, because I think doing something is still better than nothing, and for some people ethics offsets can help soothe their weary souls.
A quick glance at the Plex site vs his shows a different appeal. One is a "Free Movies & TV" something, while the other is "Like YouTube for videos on your computer"
I hope this doesn't come across the wrong way :-) I'm not picking on you or on plex or anything... I'm just wanted to point out how the thinking patter of "but you can do that with [enter FOSS name here]" has been often paralyzing for me.
With my app, clicking opens the video with your default video player. At the moment you cannot stream to another device (though it's a feature I'm hoping to add in one day).
You sell additional premium extension to provide needed left out of the open-source offering.
You sell cloud hosting and on prem hosting.
There is nothing at all wrong with that. That you have built a business where you make a living from software you wrote is awesome. I wish I could.
This is not necessarily true. If you are the sole copyright owner, you can have your main product be AGPL and sell proprietary extensions; there's no reason why you need to enforce your copyright against yourself. Alternatively, your combined product could be under a proprietary license that is not the AGPL.
It's right there in bold: the customer is provided with the source code of the extension when they purchase it. So long as the user is free to study, modify, and distribute this source code, then it's FOSS.
...which are open source.
I think the irritation is that the author made it sound like he is giving everything for free and gets donations to survive.
What sentence or word choice made you think she lives off donations?
It sounds rather like customers get source access. Do they have the right to sell the source code or re-release it in any way by following an open source license? ( https://opensource.org/licenses )
P.S. I'm not criticizing your business model or anyone elses.
From "The Open Source Definition"[1]:
> The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
[1]: <https://opensource.org/osd>
UPDATE: it seems it is licensed under AGPLv3. So it is open source. Interesting.
Turns out it is open source.
"Interesting"
Like... why did you expect it to not be open source
This is curious behavior. There’s lots of incorrect and misleading articles. But I try to bring up questions only when exhausting reasonable investigations.
2. Searching for open3A in duckduckgo brings me to a page that spits out PHP errors and doesn't give me anything.
3. The only way that I now know where the zip file is, is because another commenter linked to it.
4. We've seen companies disguise something as open-source, when it wasn't.
5. Open source is commonly hard-to-sell.
So no, it wasn't 10 seconds to verify and the author didn't make it particularly easy to do so. My doubts are completely natural, given past news in "open-source". Are you commenting in bad faith?
BTW typing only "open3A" in DDG gaves me the right answers all on the first page.
While I agree with companies misrepresenting their products as open source as being a problem and believe the AGPL should have been mentioned, I do not see how the point about open source being hard to sell as being relevant. Not only are there are success stories in the world of open source, but the author made their success sound modest.
Here's a re-enactment of how I detected the license: https://i.imgur.com/Gr4xMT5.mp4
It's near trivially easy.
Here's another one I like when I want my face and audio in: Screenity https://github.com/alyssaxuu/screenity (very easy code to work with too).
I searched for “open3A” via Google (not ddg, but if I got errors on ddg, I would try “!open3a”) and the first hit is a German site. I don’t speak German, but I saw the download link [0] and downloaded the first zip and viewed the license.
I spent more time downloading the 4mb zip than clicking on stuff.
It’s not the author’s job to make answering my questions easy. It is my job to not make easily verifiable claims without trying.
I’ve dealt with lots of projects that are crappy about licenses and frequently have to download the tarball to look for licenses, just to check if I can actually use.
The author could make this easier, but she didn’t. That doesn’t mean I should go into attack mode because other people make bad claims. (And I suppose I give up after 10 seconds and don’t want to stick around for 20 seconds)
I also noticed that author doesn’t even link to her project. Maybe it’s because her project is in German and the blog is English. But I’d rather have more posts like this with whatever time the author can spend, than wait for it to sit in draft while unimportant details are finally added.
I'm not saying which term is better, just explaining why "open source" might not be objectively wrong in this case.
They define what they think it clearly means to them... but they don't own the term.
Where do they define this? In the OSI definition it doesn't mention having the source available for everyone, only that whoever has the program should be able to get the source[0]. I do believe it doesn't follow "open source" the development model where development is in the open and anyone can contribute.
Being on Github doesn't make a project open source. Having a way for other people to easily contribute doesn't make a project open source. But being licensed under AGPL 100% does make a project open source.
Even still, open source licenses may be used to sell software for which the source code is not available before purchase. For example, the Apache 2.0 license can be used for this; it protects users of altered versions of the source code from patent infringement lawsuits and forces the Apache license to be passed on to the end users of the modified work. It doesn't forbid throwing the source onto a repository somewhere, of course, so the source doesn't remain closed for long, but I can imagine many businesses wouldn't want to sell their technical support to a company that published their source code, and businesses are generally wary of using software without any form of support.
There's various ways people use the term "open source" and I think in general people mean "software that's available publicly for free" when they use it, but some of the open source licenses allow for some propietary-like behaviour while using them.
The copyright itself couldn't be used to take the code down, because the open license allows the customer to do exactly that.
Theoretically, a customer can buy the software, fork it, and turn it into an open source fork. Without the support contract to receive updates, though, I doubt that'll be very useful in the end.
At worst, a competitor buys your software and uses your own software against you by analysing, publishing and extending it, and selling support contracts in your market. However, I strongly doubt there's much money to be made that way.
I'm no businessman either so I wouldn't know what brings companies to make software like that. I think these licenses were born in an era of offline, compiled blobs that received updates every month at the most, whereas modern software development is much more focused on freemium and SaaS.
So you've made the assumption that it's distributed under a source access only license, but instead of verifying that assumption, you're asking others to correct the conclusions you draw from it.
"What do you do?" "Software development." "What kind of software?" [back and forth, question-and-short-answer at a time]
"What do you do?" "Software development." "Oh, so you like write websites and stuff?" "No, actually, [long enthusiastic explanation of their job]"
I've been accused of it often, when I meet someone new (who's a geek) and we do what in my head is the "geek subject matter negotiation", where each side narrows down domain expertise and experience by doing a breadth first tree search across all shared geek-domains, followed by a depth first search down the tree paths with significant crossover.
One recovering-geek friend says we're going "Pshhhkkkkkkrrrrkakingkakingkakingtshchchchchchchchcch" at each other before deciding on a conversation topic and speed...
1 - https://www.amazon.com/Like-Switch-Influencing-Attracting-Wi...
Technically, you could provide binaries and a GPL license, then provide source code when verified customers (eg they send their receipt/license number with their request) ask for it.
IANAL, but as far as I can tell, there's nothing in GPL that says you can't sell the software and operate this way. If your customers hand out the binaries to third parties, that's on them to provide the GPL and source code, not you. And of course, they could sell, re-release, etc, but anyone else could come and do the same to them.
It's risky, to be sure, and it feels "wrong" only because we've become conditioned to the status quo of so-called "intellectual property". Frankly, I would love if I could write open source software for a living, but there's a big fear of letting go of a steady paycheck (and benefits!), but that has more to do with entrepreneurship fears than software licenses.
"Sure you can redistribute the software. We'll just cut you off if you do."
But suing Bruce Perens for saying that this is a legal risk is a pretty bad look for grsecurity...
https://www.theregister.com/2020/03/27/grsecurity_bruce_pere...
But assume profits are increasing and competitors arise. Then what would you do? How would you compete with them? Would you try to make the publicly distributed software less maintainable by for instance reducing the amount of documentation that comes with it?
You might have multiple versions of your source-code, some with comments and some without. You could then choose whether to distribute the version with code-comments or one without.
You might go further and apply some kind of "minifier" to your source making it harder to understand and thus modify.
As far as I understand it GPL gives rights to the users of the software but puts few if any restrictions on the provider of the software. So would it therefore make sense to distribute (only) a minified version of your source-code? That would make it easier for you to compete against your competition.
Of course, it would be nice to know how much money the author makes with this product...
It mentions 9k/mo.
Asking this because sometimes I also wonder if I should open source my project, but I have my doubts on how much you can gain from it (apart from the nice feeling of contributing to open source ;))
Contributors is easy to judge, but the second bit is not. It includes people you'll never even hear from.
For me, the big question I ask is basically "What are the chances this software becomes unavailable in the future and what's my escape plan?" These two weigh against each other -- if it's a non-critical tool and the plan is "go back to doing it the old way, with near zero business impact" then I don't really care about the chances it disappears a whole lot. If it's "Start a several-months migration effort while the business is crippled" then suddenly that first bit becomes incredibly important.
I consider chances a small (especially one-person) company disappears is fairly high. Same for a VC-funded startup (along with the chances they kill or pivot away from the product, which is effectively the same thing).
Open source means it never really becomes "unavailable": It might be costly (eg if I have to fund maintenance on my own) but it still provides low risk of crippling my business.
When I'm considering new software, the non-OSS stuff run by small companies just naturally goes to the bottom of the list for exactly this reason. If I go with something higher up on that list, that company won't even know they were being considered, let alone why I didn't pick them.
It's more the feeling for me, yes :)
This is not true for all open source licenses. Copyleft licenses such as the GPL and its variants prevent this.
Someone can distribute your software instead of you and thereby lock you out of any profits there, especially if they undercut your price (in the limit case they can distribute your paid software for free), but certain open source licenses prevent retroactive locking as proprietary software.
If they are just abiding by the license, would that be considered "immoral"?
Under the GPL, a competitor can certainly take the code, rebrand it, and sell it as their own but they are required to provide the full source code of whatever "borrowed" GPL code they distribute to the end user. This ensures that the source (and whatever changes/additions are made) cannot be taken and locked up by someone else, which is possible with more permissive licenses like the BSD and MIT licenses.
Which is what AWS used to outprice elastic and redis.
She is fine with only targeting the German market, it is big enough for her.
Because I would like to read about that experience
What are the licenses of the software and the extensions in the shop? Is this one of those free-core/proprietary-plugins model?
Thank you for pronoun correction.
EDIT: I forgot that I'm not on Reddit, sorry. I will stop making jokes.
> nemiah posted to Indie Women on March 5, 2021
> Yes, the plugins are open source, too. Customers can test what they will get in an online demo which is available on my website.
> They get the functionality as well as the code after they bought the extension in my shop.
At first it sounded like 'open core' with the plugins not being open source, but if the plugins are open source too... I guess people pay for them, priced modestly, just for the convenience and support?
Also initial access, and updates. Extensions are not mentioned on the free download page ...
https://www.open3a.de/page-Download
... rather, pay-per-download:
>If someone wants advanced features, I have a shop! In my shop the users can buy many of the extensions I have developed over the years. The prices are reasonable and start at 20€ (~$24) up to around 80€ (~$96) or so. The price contains updates for this extension for one year which means the next two versions.
https://www.open3a.de/page-Plugins
Apparently German businesses aren’t much interested in running bootleg copies of modestly-priced a la carte extensions.
I think this kind of mismatch stays under the radar when the stakes are pretty low, they probably aren't making tons of money off of this. If they were, someone else might try to get into the game. And if the pricing of the extension was a lot higher, more would probably use it (entirely legally) without paying.
Although on a more serious note, I can clearly remember self appointed knights of FOSS claiming on those threads that AGPL is bad because it harms adoption.
I see it more as a form of protection against corporate exploitation, apparently OP does too.
It's much better to dampen bad stuff by downvoting/flagging it and/or amplify good stuff by contributing interesting things.
It’s also excruciatingly slow to load! “Let the software speak for itself” - well, it did - if I were evaluating invoicing software I’d go look elsewhere mainly based on this very poor first impression. Could certainly use some optimization / speed up.
The target market is probably Germany. The post mentions amount of money in euros, but never other currencies used in English-speaking countries. It make sense to not internationalize the website if the product doesn’t fit the international market (I bet invoices have different legal requirements everywhere).
It's "promoted" on HN by someone other than the author, it seems.
Maybe the demo site is suffering from whatever the hacker news equivalent of slashdotting is, or the host might not be well-connected to the internet outside Europe.
it is not a bloated 20mb C# blazor simple todo mvc web app lol