Building Tools to Connect People with Services
Since 1999, Community Information Online Consortium (CIOC) has worked collaboratively with its members and software developers (that’s us!) to create a suite of software tools that connect people with services. This began with a Human Resources Database and Volunteer Matching Software, and over the years has grown to become a diverse suite of tools and data.
Across Canada, OpenCIOC software supports the work of hundreds of diverse community organizations, including community information providers and volunteer centres, local and provincial governments, 211 providers, mental health associations, health support networks/organizations, seniors’ support services, and many others – as well as millions of public users each year. For nearly two decades, this project has been driven by the contributions and needs of its user community – a software co-op model that has brought the user community into the project as participants in creating and directing the development of the products they are using.
My participation with CIOC began in 2002 through contributions to the original CIOC Open Source project, and then as the developer for a ground-up rewrite of the software that launched in spring 2003: this time as a closed-source, co-op development project for CIOC members only. By 2015 after 16 years of non-stop software development, it became clear to CIOC and its developers that the software and sector landscape had been changing rapidly around us; we also needed to rethink our model to continue to serve our user community effectively. The OpenCIOC Project was thus created as a new home for the software, publishing CIOC’s complete catalog of software and data products as Open Source and Open Data. The move back to an Open Source model is in keeping with the original spirit of the project, and builds on our mutual commitment to creating tools collaboratively.
Collaboration and data re-use isn’t just part of the software; behind nearly every member/user of the software has been many partner organizations involved in creating, publishing, sharing, searching, and analyzing the data created with these software tools. When we first started our forays into collaborative data management and data exchange more than a decade ago, we often had to forge ahead without an over-arching standards project, working on our own based on our users’ needs and in collaboration with other systems to decide how to exchange and co-manage data. This meant a need to support many different formats for other systems and the work of creating and supporting our own open exchange format (and then trying to convince other people to use it!). We’re so excited to now be participating in projects like Open Referral, both to contribute through sharing our collaboration and data exchange experiences in this sector, and because of the opportunity it provides to expand our users’ ability to collaborate with a wider community. And of course, we want both our users and those in the sector at large to have the information and tools they need to have confidence in embracing an Open Source / Open Data philosophy along with us.
In our current community of users of the communityinfo.online software, we see two distinct needs for a project like Open Referral:
There are a variety of types of consumers that can make use of incredible information about the community that many of our users meticulously maintain, and that means it’s hard to come up with a single format that meets all those needs. For Open Data projects, we continue to see a demand for a simplified, single-spreadsheet option customized by the data owners for their local community. However, a format like Open Referral, with its more complex and standardized description of data, provides the best potential for leveraging reusable reports and tools built for many applications. We are excited not only for the possibilities of what can be done with data maintained in our software as a resource to other people and organizations, but for the opportunities we may be able to provide a larger community to leverage our Open Source tools to use data published in the Open Referral format.
We believe that a collaborative landscape for the sector is best served by a standard that is system-agnostic, developed in a way that identifies common ground but leaves the door open for extension and innovation – and we hope that this will be Open Referral’s future. Although we’re unlikely to give up entirely on our old tried-and-true data exchange formats, over the coming months we plan to launch our first Open-Referral-based cross-system data exchange project through the creation of a new read-write Open Referral API in the communityinfo.online software. The pilot project, if successful, will take us from our initial toe-in-the-water experiments with exporting data in the Open Referral format toward a system working to efficiently and accurately keep over 160,000 community service records synchronized between systems.
The OpenCIOC.org project does not receive any direct funding other than the contributions from its users and developers, so continuing to manage the project in a sustainable way is critical. A major project goal is to invest in resources that lower the long term effort and cost to host and support the software, while supporting a variety of contributors to the project (both technical and non-technical).
Although the software is Open Source, it has a long history of development within a closed-source, highly managed environment where it was only handled by those with a high level of technical experience in all its moving parts. To reach its full potential, our goal is to simplify the technical requirements and make the software easy to install in commodity cloud hosting like Microsoft Azure. Not only will this make the software available to more people, it allows people to take control of their own application and make choices that fit their budget and requirements.
As a co-operative development project, the software has been successful though the direct participation of its user community. In the past, this has largely been through project planning participation, user communities, training, multi-language and translation support, testing, and other non-technical roles. As an Open Source project, we hope to continue to support and openly recognize these valuable user-based contributions that have made the ongoing success of the project possible.
Because the software is large, complex, and mature, it is not particularly easy to approach for a new contributor. Through a combination of efforts to simplify the development environment and active mentoring of potential contributors, we hope to make the project friendlier to new participants.
If you are interested in contributing to the project – whether as a developer or in a non-technical capacity like adding a new language to the software – please contact us!
You can read more about our overall project vision and current roadmap here. For general information on our project, including a description of software tools available and links to the code repositories, visit opencioc.org