All subjects · Computer Science · WCP01 Principles of Computer Science
Open-source technologies and APIs
Edexcel IAL Computer Science · WCP01 Principles of Computer Science
Much modern software is built from open-source components and connected through application programming interfaces (APIs). You need their characteristics, benefits and drawbacks (spec points 6.3.3 and 6.3.4).
Open-source technologies
Open-source software is software whose source code is made freely available, under a licence that allows anyone to view, use, modify and redistribute it (some licences require modified versions to be shared under the same terms). Examples of open-source projects include the Linux kernel, the Python language and the SQLite database.
Benefits: usually free to use; code can be inspected for security and quality; can be adapted to specific needs; large communities fix bugs and add features; no lock-in to one supplier.
Drawbacks: support may depend on volunteers or paid third parties; quality and documentation vary; some projects are abandoned; licence conditions must be followed; because the code is public, attackers can also study it (although many reviewers often find flaws quickly).
By contrast, proprietary (closed-source) software keeps its source code private and is licensed for use under the owner's terms.
APIs
An application programming interface (API) is a defined set of functions, rules and data formats that lets one piece of software use the services or data of another, without knowing how it works internally.
- A library API gives a program functions to call, for example Python's sqlite3 module, which lets a program connect to an SQLite database and run SQL (used in Unit 2).
- A web API lets programs request data or services over the internet, for example a weather service that returns a forecast in JSON when sent a request with a location.
How it operates: the client sends a request in the agreed format (function call or web request with parameters, often with an API key for authentication); the service processes it and returns a response in the agreed format.
Benefits: reuse of existing services saves development time; programs can share data; the internal implementation can change without breaking users; access can be controlled with keys. Drawbacks: dependency on a third party (the API may change, be withdrawn, go down or start charging); usage limits; security risks if keys are exposed; data sent to an external service raises privacy issues.
Worked example
A travel app shows live exchange rates from a currency service. Explain how an API is used and give one risk.
- The app sends a request to the currency service's web API, for example asking for the GBP to EUR rate, with its API key.
- The service returns the rate in an agreed format such as JSON.
- The app reads the value and displays it; it does not need to know how the service calculates rates.
- Risk: if the service goes offline or changes its API, the app's rates stop working.
Answer: Request in the agreed format, response in the agreed format; risk of dependency on the third party.
Check yourself
- What is the defining feature of open-source software?
- It can only be used by schools
- Its source code is available to view, modify and redistribute under a licence
- It never has bugs
- It must be paid for every year
Show answer
Its source code is available to view, modify and redistribute under a licence. Open source is about access to the code and the right to change it.
- Which is a drawback of using open-source software for a business?
- The source code cannot be inspected
- It can never be modified
- It always costs more than proprietary software
- Official support may be limited, so help may depend on the community
Show answer
Official support may be limited, so help may depend on the community. Support is not guaranteed by a single supplier.
- What is an API?
- A type of computer virus
- A defined set of rules and functions that lets one program use the services or data of another
- A programming paradigm
- A hardware component in the CPU
Show answer
A defined set of rules and functions that lets one program use the services or data of another. It is the interface between pieces of software.
- Which is a benefit of using an API?
- It removes the need for any network
- It guarantees the service never changes
- Developers can reuse existing services without knowing how they work internally
- It makes data private automatically
Show answer
Developers can reuse existing services without knowing how they work internally. Abstraction and reuse save time.
- Explain one risk of building an app that depends on a third-party web API.
Show answer
The provider could change the API, withdraw it, start charging or suffer an outage, and the app would stop working properly.. Dependency on someone else's service.
- In Unit 2, Python's sqlite3 module lets a program connect to and query an SQLite database. What is the sqlite3 module an example of?
- A version control system
- A firewall
- An API (library interface)
- A hashing algorithm
Show answer
An API (library interface). It provides functions that hide how the database is accessed.
Sources
Last updated 8 November 2026. Spotted a mistake? Tell us.