Displaying posts by Brett Smith
NPO Accounting Software for Currency Conversions
byon November 22, 2017
Conservancy helps project participants from all over the world travel to all kinds of conferences and hackfests (around 150 people in 2017!). Because of that, our day-to-day accounting work can involve a lot of currency conversions. Someone on a single trip might have expenses in multiple currencies, and want to be reimbursed in another currency different from all of those.
We previously used rates published by the Bank of Canada to do these conversions. It was a trustworthy source of data, but it wasn’t very user-friendly: we had to go through a multipart web form to get rates, save those in our records, and then convert amounts by hand. When they stopped publishing rates earlier this year, one thing we hoped to find in a replacement was an API that we could use to build some higher-level accounting tooling.
We evaluated several alternatives and found what we wanted in Open Exchange Rates. In particular, it has a historical rates API that meets our needs very well: give it a date, and it returns all the rates for that date in a JSON object. It’s easy to save those results in our books, and use the data for higher-level conversions.
I wrote oxrlib as the tooling we needed on top of that API. It starts as a simple command-line wrapper over the API: give it a date, and it shows you all the rates for that date. From there, you can pass more arguments to answer more specific questions. Name a currency or two, and it will show you the rates between just those currencies. Add an amount, and it will convert that amount from one currency to the other. It can even output all this information in the same format our Ledger books use, so it’s easy to insert directly into an entry we’re working on. All this functionality has already reduced the amount of time we spend processing reimbursement requests. A process that used to require several tools, copying data by hand between them, is now handled by a single command.
My bigger hope is that it will save us even more time developing more NPO Accounting tools. I put “lib” in the name “oxrlib” for a reason: it’s a fully-fledged Python module that I’ve developed with an eye toward reusing in the future. All the functionality we have today in the command-line wrapper should be easy to incorporate into other tools in the future. oxrlib gives us a starting point to automate bookkeeping in multiple currencies. I’m hopeful this pattern will let us make useful incremental progress on NPO Accounting. Today we build small, practical, reusable pieces that solve an immediate problem. Tomorrow we can use those to build more fully-featured programs that solve bigger problems.
You can find oxrlib on our Kallithea Git server, and even use it today with an account and API key from Open Exchange Rates. Expect to hear from me again soon about more NPO Accounting tools like this.
Donor Spotlight: Mark Wielaard
byon October 2, 2017
Conservancy depends on our Supporters and Donors. We rely on their financial support, of course, but they are also valued ambassadors who spread the word about Conservancy and the work we do. We continue our series featuring the companies and individuals who support Conservancy. If you're a Supporter of Conservancy and would like to be featured here please let us know!
This time, we're interviewing Mark Wielaard. Mark is a long-time free software developer. He was very involved in the libre java community in the early 2000's, spending many years as the maintainer of GNU Classpath , GNU's implementation the standard library for the java programming language. It took a long time, but he is happy that these days the Java Trap has been mostly dismantled. He still helps with the infrastructure for the IcedTea project, a free software community and collection of tools around core libre java compilers, runtimes and libraries. But his current work is mainly focused on analyzing and debugging natively compiled code. He contributes to Valgrind and elfutils to help make that possible.
Why do you support Conservancy?
Software Freedom Conservancy provides free software projects with a home. I like that, and I think it's important. GNU Classpath had a home in GNU, and a community, and as the maintainer that made me really happy. It meant that we could concentrate on what we loved to do, hacking code together. But with the knowledge that we had a fallback if we needed to deal with anything that couldn't be solved by just adding a bit more code. A place for all the administration that doesn't just fit in the code repository. I hope it makes other free software developers happy too, to have a place for their projects they can call home.
What makes Conservancy a good home for free software projects?
I trust Conservancy to support communities in a way that respects both the developers and software freedom. Free software is a good basis for people to collaborate. The services that Conservancy provides allow communities to concentrate on improving software together. Freeing project leaders from the stress that is involved when being personally responsible for all the non-coding activities. Individuals (and companies) can then join on equal terms, making sure the project and community will work together for the public benefit (and just having fun together hacking on code).
Why do you trust Conservancy to do that work?
Conservancy consists of people with experience, who care. I know Bradley Kuhn because he was the Executive Director of the Free Software Foundation when I worked on GNU Classpath. Having someone who takes care of all the administrative paperwork, someone you could forward tricky legal questions to, had a big impact. It meant we could all just concentrate on coding together. And everyone involved with Conservancy, staff and directors have years of experience with various Free Software projects and foundations. They really know what communities need to keep focussed on doing the thing developers love most, hacking on code.
Conservancy is unique in that it allows projects to define their own terms and conditions for how the community works together. Projects aren't forced to adopt a particular license, governance structure or tools and they aren't controlled by corporate sponsors. And another unique feature of the Conservancy is that they prepare from the start for projects to leave again. If a projects outgrows its home at the Conservancy it has the freedom to leave and setup their home somewhere else.
Anything else?The Software Freedom Conservancy is now the home of a long list of diverse projects. I hope that more people will consider becoming a Conservancy Supporter so that more projects can call the Conservancy their home. With software controlling more and more of our daily lives it is important to provide a welcome home to communities that can provide us with more Software Freedom.
Parsing GitHub’s data on queer participation in FOSS communities
byon June 6, 2017
Earlier this year, GitHub conducted a broad survey of “those who use, build, and maintain open source software.” They just released the results, and for those of us who care deeply about the inclusiveness of FOSS communities, it’s a lot of sobering reading. There’s still a dearth of women participating. It also provides numbers to incidents of bad behavior, and the impacts those have on our communities.
There’s potentially one bright spot in the demographic data, though—and you get the sense the authors were happy to find it, too, since they call it out themselves. They note:
Along other dimensions [than gender], representation is stronger: 1% of respondents identify as transgender (including 9% of women…), and 7% identify as lesbian, gay, bisexual, asexual, or another minority sexual orientation.
As far as I know, this is the first attempt to broadly quantify queer participation in the FOSS community, and I’m really grateful GitHub made it. As discussions about diversity in our communities have come to the fore, I’ve been frustrated that it’s been hard to include queer identities in them, because we didn’t have basic information like whether or not we’re even underrepresented in the first place. GitHub’s results start to help us answer those questions.
I say start to help us answer them, because no one survey will ever answer them authoritatively. Before people run out to declare we’re succeeding at building queer-inclusive communities, I want to contextualize these results a little to help people better understand what they do and don’t tell us.
One limit in this data is in the audience surveyed. GitHub “collected responses from 5,500 randomly sampled respondents sourced from over 3,800 open source repositories on GitHub.com, and over 500 responses from a non-random sample of communities that work on other platforms.” This skews the audience towards relatively technical participants in FOSS communities in a couple of different ways. First, surveying people who are active on GitHub or comparable development platforms means we’re only surveying people who work directly with the tools of developing software. This survey doesn’t collect responses from people who draw and post UI mockups, e-mail in suggested revisions to documentation, or answer other users’ questions on external forums. More than anything, I would love to see a similar survey conducted with a more expansive view of who participates in FOSS.
Second, including more respondents from GitHub biases the audience toward people who are working on newer or more modernized projects. Think of all the FOSS projects that predate GitHub and still host their development elsewhere: GNU, GNOME, Firefox, LibreOffice… when you think about the applications individuals use every day, these are a lot of the most popular ones. Including 500 responses from other communities helps mitigate that, but it’s not clear that’s a representative ratio, and the fact that they were chosen non-randomly is less than ideal too (although I recognize it’s not obvious how to incorporate those responses in a way that would be both random and fair).
Another reason these results aren’t authoritative is that sexual orientation and gender identity are complex. A single question about each on a survey will never be sufficient to accurately capture the community’s full diversity. Most survey results are sensitive to how their questions are worded, and this is famously true for these sorts of questions about identity. Wikipedia’s article “Demographics of sexual orientation” provides a good primer on these issues if you want to learn more. Briefly, it matters a lot whether you ask whether the respondent identifies themselves a certain way, versus whether others would identify them that way, or whether they’ve engaged in activities that could be classified that way. Words like “gay” are also categories that were invented in the west, so people from other countries and cultures may not recognize or identify themselves with them. I think GitHub’s survey asks the two most useful yes/no questions you can ask to inform discussions about queer participation in FOSS, but there’s lots of room for other surveys to dig deeper on these topics.
None of this is to say the survey is flawed or should’ve been done differently. There are many trade-offs involved in designing a survey like this, and I think the trade-offs GitHub made are both clear and justifiable. The best way to understand where we truly stand is not to try to craft a single perfect survey, but to have many surveys with different structures. Then we can learn the most by comparing and contrasting their results. I hope more surveys follow GitHub’s lead to ask about sexual orientation and gender identity, whether they’re small projects surveying their users, large cross-community surveys like this, or anywhere in between.
All that said, the numbers in these results seem to be on the high end when compared against similar surveys of large general populations. I think the authors are right to call them out as a bright spot, and I’m personally encouraged by them too.
Let’s be optimistic for a moment and and assume these results mean that queers are at least proportionally represented in FOSS communities. Does that mean we’re queer-friendly?
Not necessarily. Just like a workplace can have both gender balance and rampant sexism—in wage gaps, in promotion choices, in who does and doesn’t get heard at meetings—our communities can have both proportional queer participation and hostility toward us. Identity policing, bi erasure, transphobia—we see these problems in spaces that are explicitly or even exclusively queer. Of course they can arise in FOSS communities too.
While we work on getting more numbers, we should also be working to defend against these problems. There are a couple of concrete things we can do.
First, we should be working to adopt strong codes of conduct in more of our communites. Any code of conduct worth its salt like Geek Feminism’s already prohibits harassment based on gender identity and sexual orientation. We should be joining this work, both out of self-interest and to help our allies who have been looking out for us in turn.
(An aside to my fellow queer men: this goes extra for us, because this is one of those times when we can wield our male privilege as a force for good. Since it’s mostly been women leading the charge for codes of conduct so far, it’s easy for opponents to try to minimize this work as women “just” advocating for themselves. Tell your community you want a code of conduct, tell them you want it for your own wellbeing, and shut down that train of thought before it even leaves the station.)
Second, us queers need to be out more in our communities, to build personal networks that can identify, discuss, and resolve these issues when they arise. This is easier said than done. Most of our interactions in the community happen on channels focused on getting work done: planning development, putting together documentation, reviewing changes. There’s rarely a good time to say “hey, I’m queer” in these spaces. It’s easy for it not to come up until the annual conference after-party.
We have to be more out than that, for the sake of new or occasional participants. When queers are considering getting involved in a project, seeing people like them already invested can help demonstrate to them that this is a place where they’re welcome. If they’re harassed, they’re more likely to report it if it’s easy to find someone they feel will understand and be receptive.
We can’t wait to come out until the big meetup. We have to be out on the mailing lists, in the chat rooms, on social media. I’m not saying you have to make a dedicated coming out thread, but try putting a sign in your avatars, e-mail signatures, or personal bios. (Personally I love to paste the rainbow flag emoji 🏳️🌈 anywhere I can get away with it, but I know that symbol doesn’t work for everyone. Here’s to more representation in future Unicode standards.) Some people may ask you not to bring “politics” or “sexuality” into the community, but being out is more fundamental than that: it’s about making sure queer people can be in the space at all. If a straight person complains that you bring up your queerness too much, that means you’re undeniably out, and that’s the goal.
LibreHealth’s Michael Downey on Why He’s a Conservancy Supporter
byon January 2, 2017
Michael Downey is one of the developers at the helm of our newest member project, LibreHealth. He was eager for the project to join Conservancy because, as he put it, the organization is “a really important player taking on responsibilties that are often neglected in our projects.” Join Michael as a Conservancy Supporter now to help us continue to provide these services to more projects.