A weekly newsletter and podcast diving into Clojure programs and libraries by Daniel Compton.
Download: MP3 - 00:24:44
Daniel Compton (00:00): Hello. Welcome to The REPL, a podcast diving into Clojure programs and libraries. This week, we have a very special episode talking about Clojurists Together with lvh, the President of the Clojurists Together Foundation. Welcome to the show, lvh.
lvh (00:12): Thanks for having me. How are you doing?
Daniel Compton (00:14): Yeah, doing great. I’ve been looking forward to this for quite a long time, so I’m really excited to talk to you more about what we’re going to be talking about today. Do you want to first start by explaining what is Clojurists Together?
lvh (00:25): I just want to start by saying it’s very strange to hear Daniel Compton ask me that question because I just showed up and started doing things, but Daniel Compton is the force of nature, heart and soul, behind all of this. So, it feels like I’m explaining special relativity to Einstein, but I’ll give it a shot anyway.
lvh (00:42): Clojurists Together is a project dedicated to funding and supporting open source software, infrastructure, and documentation that is important to the Clojure and ClojureScript community. So, what does that mean? Effectively, it means we tried to support the Clojure community through development, infrastructure, that sort of thing, and primarily we do that by issuing grants.
lvh (01:04): The two things that we primarily do, first of all, Clojars is a part of Clojurists Together. And of course, anyone who uses Clojure really to any amount is going to use Clojars one way or another. And then secondly, we fund projects, which include things like CIDER, but also others like for example, Calva, Fireplace if you’re a Vim user, but also documentation projects like Practicalli or cljdoc.
lvh (01:30): We’ve also funded ClojureScript itself, but also tooling in that space, like Shadow CLJS, Figwheel, re-frame, et cetera, et cetera. We’ve really funded a fairly sizable number of projects and they’re all projects that are not very experimental. They tend to be things that are already somewhat proven. And they’re also the sort of thing that everyone relies on. And almost, as a consequence of everyone relying on them, there’s no one individually particularly responsible for them. There is one person and that person is horribly, horribly overworked.
lvh (02:01): And so, we try to find these cases of infrastructure very much in the sense of things that everyone relies on, that everyone needs to be there, and we try to make sure that those things go as well as they can.
Daniel Compton (02:13): Yeah, and the reason why we’re talking today, other than I just enjoy talking with you, is that we’ve got a big announcement to make. What is that announcement?
lvh (02:23): This is the next stage for Clojurists Together, the projects. At the end of last year, we created a proper individual legal entity called the Clojurists Together Foundation. And that’s going to be the vehicle for continuing all of the activities of the Clojurists Together project.
lvh (02:41): Previously the Software Freedom Conservancy was our fiscal sponsor. What does that mean? That means that they are the legal entity. They’re a 501(c)3, which is an American tax thing for a charity, and they have projects underneath them. They have a whole bunch of projects. Some of the more famous ones are, for example, Homebrew and Git and many others.
lvh (03:02): And so, the idea is that those projects need some kind of legal entity for a variety of things, and that could be holding onto a trademark, that could be the ability to take donations and have them be tax deductible for the donors, that sort of thing.
lvh (03:14): And originally, Clojurists Together came into the Software Freedom Conservancy under Clojars. And so, Clojars was already a little bit of… Maybe an odd duck out. I guess Homebrew is similar in the sense that they also host a bunch of software, but it wasn’t really a traditional software project.
lvh (03:33): But then, as that grew to include all of the Clojurists Together activities, that includes grant-making, and that includes also Clojars, that made us even more of an odd duck out. And one of the issues there is, of course, that there’s always going to be a little bit of an impedance mismatch. And we were, I think, becoming an out-sized burden for the SFC, because at the end of the day, the SFC takes a flat fee, but we produce a ton more work.
lvh (03:59): I imagine that most of the projects within the SFC, maybe one or two or three grants a year, and we go, showing up with several grants a quarter and then with the desire to do far more. And so, that ended up being really tricky. And it was also hard for us to change anything about that because, of course, we’re beholden to what the SFC would like to do. It was already almost bordering on unreasonable for us to cause the amount of work that we already did. But then to say, in addition to that, “Hey, by the way, we’re going to change the way you do accounting, change the way you do reporting, change the way you do grant-making.”
lvh (04:33): That, of course, wouldn’t fly. And so, in order to continue growing the Clojurists Together Foundation, which includes just by the numbers growth, but also growing the types of activities that we do, for example, the ability to make smaller grants, we’ll talk about that more later, but in order to do all of those things, the most efficient way forward was for us to become our own entity. But other than that, there’s really not an awful lot changing, but I can go into more of that if you’d like.
Daniel Compton (04:58): Yeah, and so just to contrast what we do to what some of these other projects do, things like Homebrew and Git have long-term stable maintainership. When those projects want to get some money for whatever they want to get money for, there’s a small set of people who only need to get set up once to get paid. And Conservancy has already looked at the project and said, “Yes, this is a project that we trust and it’s worth sponsoring through this nonprofit. So, we’re all good to go.”
Daniel Compton (05:28): Whereas for every single project that we funded, they’ve had to redo all that work. They had to get payment details for each person. And then, they had to look at the project and say, “Is this something that’s safe for a nonprofit to be funding?” And so, that work was far higher than I think most of the other projects would be requiring.
lvh (05:46): Absolutely. And of course, the Software Freedom Conservancy, their area of expertise is all of open source. It’s very broad. And as a consequence, for example, if you’re doing due diligence on a particular project, that’s another example of something that’s much easier for us to do, because if you ask any Clojure programmer, “Is CIDER or a real project, is that an important thing? Is that something that we should give money to?” Then the answer is of course, yes, clearly it is right.
lvh (06:14): But if someone who is not in the Clojure community, typically a lawyer in the case of the SFC, a very technical lawyer, like lawyer who writes code. I’m not trying to speak ill of their capabilities, but they’re not Clojure programmers. And so, to them, they’ve never heard of CIDER, they don’t know who Bozhidar is. To them, it’s some dude in Bulgaria who wants money and these people told me that this is a good thing.
lvh (06:37): And so, for us, it’s much easier. Obviously, we have similar due diligence requirements than Software Freedom Conservancy does. But for us, it’s much simpler to make these calls because we’re already plugged into the subset of communities that we need to be plugged into.
Daniel Compton (06:51): Yeah. And so, what’s changing now is really just an administrative thing. The board is all coming over, we’re moving out of a 501(c)6, which is a trade association instead of a 501(c)3, which is a nonprofit. For pretty much everybody, all of our members, that makes no tax difference or is beneficial tax-wise. Of course, you need to talk to your own accountants or tax professionals about that. But generally, if you’re already using Clojure in your work or in some way or another, this is probably not a problem for you.
Daniel Compton (07:24): I mentioned at the start of the show that you were the President of the Clojurists Together Foundation. That’s also a new change. I’m the secretary and treasurer, you are the El Presidente, and the rest of the board is staying the same. If you’re currently a Clojurists Together member, you’ll be getting an email pretty shortly with an invitation to join the Clojurists Together Foundation.
Daniel Compton (07:48): These are two separate entities. We don’t have any way to transfer membership over. One reason at least is that we don’t have access to the Software Freedom Conservancy’s PayPal account. So, we get reporting about money that’s coming to us, but we can’t cancel those memberships and sign people up somewhere else. So, if you want to continue being a member of Clojurists Together, which we would highly encourage, then you’ll just need to add your credit card so that we can start charging you the via credit card.
Daniel Compton (08:20): We’re not taking PayPal anymore, certainly not currently. And I’m probably pretty content to not deal with PayPal for quite a while. But we do offer credit card and bank transfer within the US and possibly any other payment methods that Stripe supports we’d be pretty interested in looking to support as well.
lvh (08:38): And if, for whatever reason, that set of methods doesn’t work for you, please let us know. One of the upsides to having our own proper entity is, of course, that we are significantly more flexible in what we can choose to accept. So, if there’s a strong demand for some kind of ability to donate, some other mechanism for donations, that we don’t support right now, just let us know. We can’t promise that we’ll do it, but obviously if plenty of people ask, then they’ll be significantly more incentive for us to pursue it.
Daniel Compton (09:07): Yeah. And this is probably one of the worst times we could have picked to ask people to pull their credit card out again, going right through a pandemic. And so, if you were a member before and, at this point, it doesn’t make sense for me to continue being a member, that’s totally okay. We thank you for being a member. It’s a pretty tough time for everyone. So, don’t feel bad.
lvh (09:29): Absolutely not. And on the flip side, of course, there are a lot of us who work in tech, who are for whom working from home was perhaps not that much of a change or perhaps they worked from home already, and now they’re just working from home during a pandemic, not that that’s the same thing. But for many of us who might be wondering what are ways that we can still help, and I think we can point to our track record for the last few years and show all of the projects that we’ve been working on.
lvh (09:52): I think we can show a bunch of successes and obviously they’re important projects. So, if you’re wondering what ways you can still help the Clojure community, if you maybe feel a little bit guilty that everything is going well for you and not so well for many other people in the world, not that Clojure programmers are the most needy group in the world, but I think that we do a lot of good there as well.
lvh (10:12): And one of the ways that we’ve tried to help specifically people impacted who have been struggling under COVID-19, in fact, the host of the show, Daniel Compton, very glad that GitHub made the genius move of sweeping him up, but Daniel unfortunately also lost his job as a cause of this pandemic. So, it can happen to a lot of people. Our goal is to help as many of those people as we can.
Daniel Compton (10:35): Yeah. Do you want to talk about the future of Clojurists Together? What are some of the things we might be able to do now, now that we’re in the foundation?
lvh (10:42): Well, the sky’s the limit, but since we just talked about ways that we can specifically help people who have been impacted by COVID-19, one way to do that is to spread the grants around. One of the things that we’d like to do based on input from the community is something that we’re tentatively calling Summer of Bugs. We’d call it summer of code, but I think Google might object to that.
lvh (11:03): The idea that people apply to fix particular specific bugs. The idea is there’s a ticket and there’s an issue up in somewhere and it’s a pretty hairy bug and it’s not something super low-hanging fruit that’s just going to get picked up by a first time contributor, and something that’s maybe in the gooey center of a fairly complex library or a fairly complex project, something like, I don’t know, a Clojure script compiler problem, or something in the center of CIDER’s integration with Emacs or something similarly involved.
lvh (11:33): And if you think that you’re in a great position to fix that bug, either just because you’re a very experienced Clojure developer or because you’ve used that library a bunch you’ve closed a bunch of other tickets, or maybe even you’re the maintainer of the library. That would be ideal, but maintainers are welcome, but you certainly don’t need to be the maintainer in order to apply for this sort of thing. Then, we will fund you just to get an uninterrupted eight hours, and so far that anyone gets that during a global health crisis, but an uninterrupted eight hours just to go work on the bug. We’d like to pay you for that sort of thing.
lvh (12:05): We’ve been calling it Summer of Bugs. Of course, it doesn’t really have to be just bugs, anything that requires someone’s attention in order to make the world better, but doesn’t necessarily require a full, classic Clojurists Together grant is fair game. Things that we’re thinking of there are maybe implementing a smaller feature or maybe some documentation improvements, care and feeding of an issue tracker I think is a very underappreciated, or at least under-loved, open source behavior.
lvh (12:35): There’s a lot of issue trackers out there. There’s a reason that one of the most common GitHub actions is the stale lot, where it just automatically closes tickets. It’s not the best option, but it’s better than having a bunch of still tickets open. So, someone who can go through the issue tracker and maybe just describe bugs well enough so that other people are more likely to be able to solve them. Whereas right now, there’s a bunch of tribal knowledge floating around before you need to know before you’d be able to address any of those things.
lvh (13:02): Again, not super formal, we’re open to suggestions there, but we’re happy to start doing these sort of smaller grants. And this is also a perfect example of something that would have been difficult for us to do under the Software Freedom Conservancy because, again, we’re making them jump through all these hoops and do all this contract work and collect all this payment information in order to send someone a few hundred dollars that the numbers that we’ve been thinking of somewhere between 500 and a thousand for a day or a couple of hours, or maybe a handful of days work.
lvh (13:33): And for the Software Freedom Conservancy, we’re asking them to do a ton of work in order to be able to send those $500. It’s not really worth it for them. For us, it’s a lot easier. Yeah, that’s one of the things that we’ve been kicking around. There are also different kinds of grants that we’ve discussed. Daniel, I don’t know if you want to discuss that a little bit.
Daniel Compton (13:52): Yeah, this is the first different grant that we’re looking to make. But as LVH mentioned, as we’ve been talking to people over the past few years, some projects or some maintainers, just don’t want to commit to three months for whatever reason. They don’t know what three months ahead of time is going to look like, especially at the moment who knows what even a month ahead is going to look like.
Daniel Compton (14:13): We’re looking to maybe offer more compressed grants or grants of smaller amounts, maybe even larger amounts, over a longer period of time. Something that some of our members have been saying is we want to see support for projects over the long term. So, not just for three months, but what would it look like to fund a project for, say, 12 months. And maybe that’s at a smaller, lower level, but what kind of things can we accomplish if we take a longer view as well?
Daniel Compton (14:38): So, there’s lots of options and we’re really looking to hear from the community about what kinds of things will serve you best. This is the main reason why we’re leaving this FC and starting our own foundation, is so that we can be more flexible and responsive. We need to hear what are your ideas. If you’re a maintainer, what would be the right shaped grant for you? We’re not going to necessarily give one grant for each person who offers that exact shape thing, but we’re going to look at them all and try and figure out what can we do to best serve the Clojure community and what’s the best shape and size of these grants for different kinds of projects?
lvh (15:16): Daniel, if I wanted to apply either as a traditional full grant or if I wanted to apply for the Summer of Bugs, as we’re tentatively calling it because I want to go fix a bug somewhere, how do I do that?
Daniel Compton (15:30): You can go to clojuriststogether.org, and there’ll be a link at the top for open source projects to apply. Apply is the very first link that you will see there. And from there, you’ll be able to see information about how to apply, what kinds of things we’re looking for in the applications and help you make the best decision of what kind of thing you would like to apply for.
Daniel Compton (15:53): We have hundreds of developer members and many company members as well. And I want to say a big thanks to all of them. We’ve had people who took a pretty big chance on us when we first announced what we were doing. Clojurists Together was very unproven and we had companies and developers say, “We’re going to start giving you money. We’re going to put our trust in you, even though you haven’t put anything out.” And I really want to say thanks to everybody who was there right at the beginning and also, of course, everyone who’s joined along the way.
Daniel Compton (16:24): And in particular, I want to say thanks to Pitch, Nubank, Juxt, Metosin, Adgoji, and Nextjournal. These are all companies that have been really big supporters of Clojurists Together and have helped us increase the funding amounts that we have been able to give to projects. As we’ve grown, we’ve been able to fund more projects and fund the projects for larger amounts. That’s in no small part due to some of these larger corporate members coming along. So, I want to say a big thanks to them.
Daniel Compton (16:52): I also want to say a huge thanks to some of the new members that we’ve got around the time of this announcement from companies like Clubhouse. Again, I want to say thank you to everyone who’s supported Clojurists Together, either currently or in the past, and also all of the projects who have applied for Clojurists Together, because if we didn’t have people applying and actually doing the work, then this wouldn’t make a lot of sense. We’ve done some work to coordinate this, but ultimately, it’s the projects writing the code and running the documentation and running the servers that deserve our thanks for the community.
Daniel Compton (17:31): What we’ve been funding, we tried to give projects and amount that we think represents the value that they are providing. But at the same time, oftentimes, these projects have been working for years and years and years for little to no compensation. And so, the money that we’re giving says thank you and that we value you, but I just want to recognize that these projects have also put in a lot of effort before we funded them and after we funded them. So, thanks to them.
lvh (18:00): And I would also like to give a heartfelt, maybe not an apology, but certainly a sorry, it sucks, I know to all the projects that we haven’t been able to fund. There are quite a few of them. Unfortunately in my career, working for nonprofits, I seem to be constantly finding myself in positions where I hand out money. And there is always far less of it than what I would like there to be. There was always far more people who need it than we have money to give out.
lvh (18:26): There are a lot of projects that applied every quarter, and this most recent one was no exception, that are really great projects, but there isn’t enough cash to fund all of them. I would love that there was this. One of the reasons that I’m excited about the Summer of Bugs is that it will help us spread the love around a little bit.
lvh (18:44): Right now, we’re trying to focus on projects that are the rising tide that lifts as many boats as possible, such as things like CIDER, where at least half of the Clojure community relies on CIDER being good. And I would very much like to be able to extend the reach of Clojurists Together into more projects. If you’ve applied and we didn’t give you any money, I’m sorry. I promise that it’s not personal. It’s not you, it’s us.
Daniel Compton (19:07): Yes, and oftentimes, a project applies one round and they don’t get funding, but then we fund them later on. So, please don’t feel like it was a no forever. It might’ve just been no this time. I just want to say thanks to the board of Clojurists Together, the current and former board. That’s Maria Geller, Daniel Solano Gomez, Larry Staton Jr., Nola Stowe, Fumiko Heinreich and lvh, of course, are all current board members.
Daniel Compton (19:33): And previous board members were Bridget Hillyer, Toby Crawley, and Devon Walters. Everyone there has been a big help and especially LVH as the president of the Clojurists Together Foundation. You’ve done a lot for Clojurists Together and I want to say thank you for taking the liability as the president. I guess if we get sued, I assume they come after you. So, thanks for that.
lvh (19:54): It also helps that we’re a US organization and I’m in the US. I don’t think that they’re going to come after you. So, that probably helps a little bit. But I started by saying this and I’ll say it again, really me being president, I’m just a sucker who signed a bunch of forms that one time, and I sit around and I occasionally talk about Clojurists Together and apply for bank accounts and things.
lvh (20:18): But at the end of the day, Daniel’s been at Clojurists Together from day one. He’s been here far longer than I have. To Daniel the glory, to paraphrase Latin for it. So, it’s not me. And also, you mentioned Toby, but I want to give a specific shout out to Toby for all of the work that he’s currently doing on the Clojars infrastructure, which was long overdue. I’m very happy that we were able to fund him. Clojars is, to me, is the epitome project that Clojurists Together should be working on. I have a hard time imagining a project that embodies the concept of Clojure infrastructure more than Clojar, outside of Cognitect.
lvh (20:59): Yes, Rich Hickey obviously more important, but Cognitect is a company. They’re for profit, they’re a consultancy. Wish them all the best in the world, but in terms of infrastructure that is not Clojure itself or Clojure adjacent, I think Clojars, it’s hard to come up with a more important example. So, thank you, Toby, for all the work you do there, every time that I run lein deps or lein download some dependencies for me, I think of you.
Daniel Compton (21:23): Yeah. And so, if you want to get involved with Clojurists Together, there’s a few ways. Firstly, you can of course sign up as a member, either as a developer member, as an individual, or as a company member, and talk to your boss, talk to your engineering manager or marketing director about joining Clojurists Together. I think companies have said they like to be seen supporting the Clojure community. We like to appreciate the people who are Clojurists Together members. So, joining as a developer or company member is one way to support us, but there’s also other ways.
Daniel Compton (21:56): We haven’t had board elections for about 18 months or so. We normally try to have them every 12 months. But because of this change over with the foundation, they got delayed a little bit. But we’re looking to have board elections pretty soon. And so, half of the board will be up for reelection. So, if you would like to help out Clojurists Together, then that is a way that you can be really actively and directly involved.
Daniel Compton (22:21): There’s also a membership site, a membership application, which is in Clojure. And so, if you want to write some Clojure, you can go and take a look at the issue tracker that’s linked from our homepage. You can see our GitHub account where we have all the projects there that are used to run Clojurists Together. So, you can do that.
Daniel Compton (22:41): And you can also just tell other people about Clojurists Together. Even if there’s still many people and companies who are not aware of Clojurists Together or maybe if they are aware, they may not know what we’ve done or why this is important. So, if you can evangelize it to your friends, especially if your friends engineering managers of large companies that use Clojure, then that would be a big help to us and to the Clojure community.
Daniel Compton (23:08): Some of the people that we’d like to say thanks to, a big one is Ruby Together. Ruby Together was the original model that we copied. They came first and we saw what they were doing and thought, “Hey, this would be cool for Clojure.” And so, AndrĂ© Arko as Ruby Together’s executive director, he’s given us a ton of insight and advice and referrals that helped us set up this new legal entity. And if we didn’t have him telling us what he did, I think this would have been a much more difficult process.
Daniel Compton (23:36): Again, we’d like to think Conservancy and Karen Sandler in particular as well as everyone else, but Karen Sandler has done a lot of work for us. So, thanks for the help in getting set up and starting Clojurists Together and running out and doing all of the contracts and payments and all of the things that we have asked of them, which they probably weren’t expecting to be doing when we joined as Clojars, as this small Clojure package repository. The work grew quite a lot there. So, thank you for that.
Daniel Compton (24:04): We are very excited for the future of Clojurists Together. There has never been a better place and a more sustainable place. Clojurists Together was built to keep open source Clojure projects sustainable. And part of the challenge of building that kind of organization is making yourself sustainable so that you, yourself, don’t run out of energy and fall over. Having this new foundation puts us in a really great place to be able to continue on for many more years and support Clojars there’s the open source community. So, I just want to say thank you again to everyone who is a member, past member who’s given us money, we really couldn’t have done it without you.