what needs funding is clojure core, Clojurists Together is a nice effort to try to fill a gap but what my business needs, and other business owners tell me they need, is for the core language (clojure and clojurescript) to not feel like it is falling apart. I want to invest my money in targeted, specific high value problems and get leverage on my money by sharing the cost with other business owners who need the same issues fixed. Until such a vector exists, the next best thing (for my business) is to fund a few key maintainers directly via github sponsorship. But because it is indirect and not outcomes-driven, the money amounts will be smaller. My business can afford to invest more than the $2400 per year that we have been donating since the release of Electric. My business has employed 4 devs for 5+ years, I can find more budget for investments in Clojure. Businesses pay for things (unlike individuals). We want to pay. We want our key dependencies to thrive. But there is no vector to invest in the specific core issues that would benefit my business to improve. And this makes me sad because over the last few years I find myself leaning more and more away from Clojure, even repelled (as if by some invisible force), instead of leaning in.
Well, you can fund individual developers on GitHub (like David Nolen), which I do. I would also gladly fund the core, although I do not feel it is "falling apart", quite the opposite in fact — I am very happy with what it provides and how it is maintained. My business is based on it.
Not sure this type of response helps and referring to someone who is active in the Clojure community and tries to build some cutting edge stuff as 'this guy'. (Did some digging and hyperfiddle looks pretty cool).
I think it would help to understand why he is talking about this 'every two months' and then try to address his concerns.
Would be a shame to lose people who are active in the community but not heard.
Of course. But for people not in the know and looking outside in, they don't know what's going, i.e. why is someone who's been using Clojure for years and building a business with it making these points every few months as you say?
To counteract FUD it would be useful to give a few more details.
Might be some personal beef, but I don't know really and don't care enough. He makes these authorative claims mixed with personal sentiment and then doesn't back them up.
Thanks for that. These details are important for newcomers, because it seems the original commenter isn't happy with the core team's process and 'feels like it's falling apart' is hyperbole and subjective.
For future readers: Clojure is known to be extremely stable and backwards compatible. It doesn't suffer from the same churn, fatigue and breaking changes that the JavaScript ecosystems experiences for example. To get to that backwards compatibility it requires a different process.
Given that software is composed of a hierarchy of dependencies, I would like to see a funding approach that works at the dependency tree level to support an entire tree or sub tree.
There is a huge freeloader problem where business don't contribute any support for their core dependencies.
I wonder if there is a role for an organization that could act as the interface for corporate support at the dependency tree level. It could offload maintainers (or fund them) to handle certain compliance requirements and provide an official sanctioned entity for purposes of corporate policies.
There should be a way to garner support broadly for risk management and specifically for security in the corporate context.
+1 about overseas freelancers. And US customer to European freelancer is not the arb it used to be. The California SaaS sector has collapsed in the wake of venture capital rotating into AI-native, saas budgets (salaries) are down, the dollar is down, and remote European salaries are up. Zoom latency across 7-8h timezone difference is workable, the current arb is to hire from further and further east. Unless there is a war disruption such as an attack on the trans Atlantic internet pipes.
I know, I just don't see the arbitrage in what's described? If I order online because it's cheaper than the high street, that's not an arbitrage – the arbitrage would include then selling it on the high street afterwards, getting paid to close the gap until it reflects only delivery fees and the value of immediacy.
And to make that an arbitrage you'd need to subcontract someone local to do the job you've taken the California pay for. It doesn't mean 'get a better deal in a non-obvious way/place', it's taking both sides of the trade in different markets.
Good point about the project lifecycle. In my experience, open source contributions often get repurposed this way. The key is clear licensing from the start.
i was very early to React (like adopted for an enterprise app the day it came out publicly) and developed probably the first forms and state management libraries. they had screenshots of the enterprise app. so anyone who googled “react forms” in 2014 would end up on my github as there was nothing else, and saw my screenshots, which created some inbound and also gave me a credibility edge when replying to JDs in 2015-2016 which helped me charge high fees. But this would not work today. Companies have brought the whole developer economy inhouse to push down costs, that category of development (applications) is considered solved by buyers for better or worse, there is not much of a freelance application development ecosystem anymore.
Human dev labor cost is still the high pole in the tent, even multiplying today's subsidized subscription cost by 10x. If the capability improvement trajectory continues, developers should prepare for a new economy where more productivity is achieved by fewer devs by shifting substantial labor budget to AI.
I'm getting a lot more done by handing off the code writing parts of my tasks to many agents running simultaneously. But my attention still has its limits.
it doesn’t work if they are insolvent, and it can also backfire if they see this clause as a way to get a cheap cash loan. you should still have the clause but i think if this as a tool for the collections attorney to use if the customer defaults.
upfront billing of professional services (“consulting”) is worse for a few reasons, (1) requires the customer to trust you more (they cannot withhold payment if you screw them or violate the contract) but generally the service provider is the riskier party (2) it causes service gaps (lost billable days) when the customer is late which is almost every month, (3) it requires you to define in advance exactly how many units will be billed and causes a service gap when you hit the retainer limit, (4) it gives the customer a natural ability to throttle billable hours which leads to unpredictable revenue. This all leads to higher bill rates, which is less palatable than a commitment to full time services contract. everyone involved wants predictable spend.
if this is an annual renewal payment for a saas, you need a process to follow which must include 60 and 30 day notices before the invoice, the rest varies greatly based on size - is this $1200/yr (credit card auto charge) or $120k (high touch sales rep)
It surely depends on what the OP is providing. If I was a consultant and the company stopped paying, I would obviously stop working for them on the next day. Otherwise, you could start charging weekly or daily instead of monthly. But then again, if they're not paying...
If I was providing a software or utility, the second you stop paying you are out. This actually happened to me in Japan because my mobile provider stopped sending paper invoices so I forgot to pay. I got cut off without any warning and as soon as I paid I got my access back.
this does NOT need to be explained. They have accounts receivable too. They know how this works. Put the process in the contract and follow the process.
net 30 terms, invoice exactly on time NEVER late, “please find attached invoice N, also kindly following up on invoice N-1 which is now past due”, each invoice lists invoice history and payment status (red if overdue), solvent companies will respond, insolvent companies will ignore, send a polite second reminder at 1 week, all solvent companies will respond and remedy here, if no reply send notice of breach at 2 weeks, even insolvent companies will reply to this, they will lie and tell you payment is en route but it will get stuck over some technicality, follow breach process exactly, disengage services after cure period expires and hand it to collections. If your customer is not communicating with you about invoices THEY ARE NOT SOLVENT. If payments are slowing down and tardiness is increasing, they are not being forgetful, THEY ARE RUNNING OUT OF MONEY. They are fundraising behind the scenes and they are hoping for the best while transferring risk to you, or their customer is delinquent and they are aligning payments to transfer that risk to you. Most customers see themselves as good and honest, they are mostly not supervillains trying to screw their counterparties at every opportunity, but they are also taking on hidden business risks and they are underwriting that risk with assumptions like “this payment aligns with this source of cash and everything is balanced and proper”. The moment their assumptions are violated, the moment a risk appears that they don’t consider part of their risk model, or a hope/expectation did not pan out, they will experience anxiety and fear, they will tighten their control over their cashflow to try to establish agency and fortify themselves against the threat.
The relationship is NOT more important because THEY ARE NOT SOLVENT. Do not allow subcontractors to send their own invoices, you must do this yourself to ensure that all communication is exactly on time and never late. Lateness and inconsistency on your side erodes your ability to run a tight collections process, because if you are lackadaisical about payments then they can be too. When you lose control of collections it is not because of text vs email or language, it is because you don’t respect your own process and therefore they don’t respect it either. And when the water gets choppy, they will not think twice (they will not even think at all) about pushing on boundaries because you did not clearly establish them. They are facing a threat, their amygdala is in control, they may not even consciously realize they are doing it. But your process will make that boundary a bright red line, it will force them to make screwing you a conscious decision. And you will know exactly where you stand at all times.
hiring criteria is not uniform, it varies widely across all companies. Keyword driven hiring + contrived interviews that are disconnected from the actual work being performed (but easy to evaluate - this is substitution bias) has damaged engineering culture everywhere. The easy money period of 2018-2022 exacerbated these trends by removing accountability and causing rushed, loose hiring.