TL;DR: Open source development fosters innovation by allowing collaboration and transparency among developers. Proprietary solutions can stifle innovation by restricting development to a single organization. Citizen development, the process of non-IT professionals or business users creating their own software applications or tools using low-code or no-code development platforms, can also offer benefits like speed and customization. While it has limitations, it is an option to consider in the construction industry, where there are a growing number of computer-literate people and maturing low-code development.
I’ve recently been listening to Matt Ridley’s “How Innovation Works” on Audible. Its a great book full of entertaining and educational stories of innovation. And that got me thinking about construction…
Open innovation through open source, or community development, is a powerful way to produce effective processes and technology. The construction industry has a growing number computer literate people and the maturing availability of low-code development.
"Innovation is the ability to see change as an opportunity - not a threat." - Steve Jobs
So, is it better for organisations to simply state their requirements and allow development within it’s ranks, rather than investing in long-term enterprise agreements with proprietary vendors? Could a community be grown from within the industry to develop open source solutions?
Open Source, open innovation
Innovation is for the most part a bottom up process. The people at the sharp end face a problem which needs to be solved, and they solve it. That solution finds popularity and the evolution continues. Though science and research have their parts to play, its the interface between invention and a problem where true innovation is born.
Open source is a way of creating software that is open to everyone. It means that anyone can see the code that makes up the software and can modify and distribute it freely. This makes it different from proprietary software, where the code is kept secret and can only be modified by the company that created it.
Open source is often associated with free software, but not all open source software is free to use or distribute. The benefits of open source are that it can foster collaboration, innovation, and transparency, and can create a community of developers who can contribute to the software's development and improvement.
"Open source is not just a model for software development; it's a model for how to do everything." - Chris Anderson
Proprietary solutions can stifle innovation as it restricts development to a single organisation. Often this involves intellectual property and patents, which in themselves do protect an individual or company’s idea but can get in the way of that idea being built upon by others.
Open source fosters open innovation by keeping the code open, allowing it to be added to and modified. Open source software provides a powerful tool for driving innovation, as it enables collaboration, experimentation, and transparency, and creates a community of developers who can work together to create new and innovative solutions.
Some examples of high impact innovation driven through open source development are:
Linux Operating System: The development of the Linux operating system began in 1991 when Linus Torvalds, a computer science student in Finland, started working on a new operating system as a hobby. He made the project open source, which allowed other developers to contribute to the code. Over time, the project grew in popularity, and more and more developers started contributing. By the mid-1990s, Linux had become a viable alternative to proprietary operating systems like Microsoft Windows and Unix. Today, Linux is one of the most widely used operating systems in the world, powering everything from smartphones to supercomputers.
Apache HTTP Server: The Apache HTTP Server is another example of a successful open source project that has had a significant impact on the technology industry. The project began in 1995 when a group of developers created a web server that was open source and could run on multiple platforms. Over time, the project grew in popularity and became the most widely used web server on the internet. Today, the Apache HTTP Server is still used by millions of websites around the world.
TensorFlow: TensorFlow is an open source software library for machine learning and artificial intelligence. The project began at Google in 2015, and it quickly gained popularity among developers who were interested in building machine learning applications. TensorFlow's open source nature allowed developers to collaborate and contribute to the project, which helped to accelerate its development. Today, TensorFlow is one of the most widely used machine learning libraries in the world, and it has had a significant impact on the field of artificial intelligence.
The impact of these projects is clear: Linux has become one of the most widely used operating systems in the world, the Apache HTTP Server is the most widely used web server on the internet, and TensorFlow has had a significant impact on the field of artificial intelligence.
"Open source fosters open innovation by keeping the code open, allowing it to be added to and modified."
‘Citizen Development’
When you are buying a suit you have two options. You can have “off the rack”, it will do the job and there are designs and sizes to choose from but it isn’t made ‘for you’ - this is proprietary software. Or you can employ a tailor and have a suit made which can be customised and sized to meet your exact requirements.
Citizen development is like making the suit yourself, it is the process of non-IT professionals or business users creating their own software applications or tools using low-code or no-code development platforms.
Some examples of some of these platforms and tools are:
Corteza - “…is a 100% open-source, fully standardized low-code app development, business process, integration and data harmonization platform.”
Microsoft PowerApps - develop apps and create automations with a subscription
Bubble - “Bubble lets you create interactive, multi-user apps for desktop and mobile web browsers and includes all the tools you need to build a site like Facebook or Airbnb”
Autodesk Platform Services (formerly Forge) - “Access design and engineering data in the cloud with the Autodesk Platform Services (APS), formerly Forge. Whether you want to automate processes, connect teams and workflows, or visualize your data”
IFC.js - “IFC.js can generate 3D scenes because it is compatible with 3D libraries such as Three.js or Babylon.js. This means that you can create 3D BIM tools right away. High-level access to all the properties associated with that geometry. This means easy access to data on the building components, their materials, thermal characteristics, structural strength, etc.”
While citizen development has some potential benefits, it also has some limitations and drawbacks.
Pros:
Speed: Citizen development allows business users to create their own applications without having to wait for IT teams to develop them, which can speed up the development process.
Cost: Citizen development can be cost-effective since it doesn't require specialized IT skills or extensive training.
Empowerment: Citizen development can empower business users to take ownership of their own technology needs and create applications that meet their specific needs.
Innovation: Citizen development can foster innovation since business users have a better understanding of their own needs and can create applications that reflect those needs more effectively.
Cons:
Security: Citizen development can pose security risks since non-IT professionals may not have the expertise to create secure applications or follow proper security protocols. An example could be storage of users personal data in insecure locations breaching GDPR.
Quality: Citizen development can result in lower quality applications since non-IT professionals may not have the technical expertise to develop high-quality, reliable software.
Integration: Citizen development applications may not integrate well with existing systems, leading to integration challenges or the creation of data silos.
Governance: Citizen development can result in a lack of governance, which can make it difficult to manage and maintain the applications created by business users.
So whilst citizen development has the potential to help users, the business, and the industry create bespoke tools quickly, cost effectively, and provide users with the power to solve and innovate - there must be some level of care applied to avoid risks and limitations.
"While [citizen development] has limitations, it is an option to consider in the construction industry, where there are a growing number of computer-literate people and maturing low-code development."
Set standards and requirements to empower innovation
How about freedom to develop under a framework of standards, support, and governance?
By establishing clear guidelines, standards, and data requirements, we can help ensure that citizen developers create high-quality applications that meet the organisation's needs.
A data dictionary, for example buildingSmart’s bsDD, can be a useful tool , as it provides a standardised way of defining and describing data elements. This can help ensure that all applications developed use consistent terminology and adhere to the organisation's data standards.
Organisations should also establish other guidelines and standards to facilitate citizen development. For example, organizations can provide templates or pre-built components that people can use to create their applications. This can help ensure that applications are built using best practices.
Organisations should also provide an open, visible, catalogue of all apps and platforms so that users can browse them to prevent duplication and allow further development of an idea - see ‘Open Source’. In doing so IT development teams can cherry pick the best and most popular applications for further professional development - citizen’s and ‘pro’s’ working together to enable innovation.
By providing standards, requirements and governance, we can tap into the creativity and expertise of our employees while still maintaining control over the development process. However, it's important to establish governance and quality controls to ensure that the applications created by citizen’s are of high quality, secure, and adhere to the organization's standards.
Industry wide open innovation
Taking this one step further. By combining industry open standards with open source and citizen development we could support an industry innovation boom.
By aligning to and leveraging open standards, organizations can ensure that the applications developed through citizen development are interoperable with other systems and technologies - and different companies - reducing the risk of vendor lock-in and enabling greater collaboration across organisations.
Open standards will provide a common language for developers, making it easier for citizen developers to understand and build upon existing technologies. This can accelerate the development process and enable faster innovation within the industry as a whole.
By taking the open source approach construction can harness a powerful tool for driving innovation, allowing developers to collaborate and build upon each other's work. By making code open source, organisations can tap into a wider pool of talent and expertise, accelerating the development process and fostering innovation.
By combining open standards with open source and governed citizen development, organizations can harness the power of collaboration and innovation to drive industry-wide change.
Final Thoughts
In my experience citizen development is on the rise. People in the industry (engineers, architects, quantity surveyor’s, health and safety professionals) increasingly have the skills and tools to develop their own solutions - which answer their specific problems. Whilst vendor provided, proprietary, solutions will always have there place - by shifting the focus to the problem, the data requirement, the process - we can provide our people a much more diverse set of tools specific to their needs and agency to create solutions themselves.
Merge citizen development with IT governance, the open source mindset, and alignment to open industry standards and the potential is clear for an environment of innovation. Taken a step further, by ‘open sourcing’ the whole industry could benefit from an innovation boom driven by the people within it.
The construction industry can often be locked in walled gardens of competition, all trying to take a bigger share of the pie. This is the true blocker to what I’ve outlined in the section above. It’s a difficult step for competing firms to openly share data, let alone to openly share solutions to industry problems.
But things are moving forward in this regard. Initiatives such as the National Underground Asset Register (NUAR) and the Construction Data Trust are establishing the value of sharing at least some data between organisations in a controlled way.
By shifting focus from taking a piece of the pie to growing the pie I can see a future where construction can both compete and collaborate, and create true digital transformation in the industry.