SolarSoftwares
Book a demo

What Is Open-Source Solar Software?

How we keep reviews fair

Quick answer

Open-source solar software is solar design, modelling or monitoring code published under a licence that lets anyone use, change and share it. The Open Source Initiative’s Open Source Definition sets 10 criteria. Free of charge is not enough, and neither is public source code alone.

Ready to see how it works?

Tell the SolarSoftwares team which tool you are considering. We reply by email to book your demo.

Book a demo
Jump to a section

Key takeaways

  • The Open Source Definition (version 1.9, page modified 16 February 2024) lists 10 criteria. It says open source "doesn’t just mean access to the source code".
  • Free is not open. OpenSolar’s free page (modified 7 May 2026) calls the software free for solar professionals. It says nothing about source code or a licence.
  • Read the licence file, not a list. SAM’s ssc README names BSD-3-Clause and links to the repository’s LICENSE file.
  • Maintenance is the main risk. The feedinlib repository was archived on 16 September 2025, so it is read-only.
  • Our invented example scores three projects at 100, 68 and 20 out of 100. One extra day drops Project B from 74 to 68, below our 70-point line.

To screen open-source design and modelling tools, see the best open-source solar design software.

Open-source solar software at a glance

Open source is a licence status, not a price or a feature. A project can be open and still need a developer to run it.

ItemDetail
TestThe licence meets the 10 criteria of the Open Source Definition, which the Open Source Initiative publishes.
Licence familiesPermissive, such as BSD-3-Clause, and copyleft, such as GPL-3.0.
Code versus dataA tool’s code licence does not cover the weather or map data it reads.
What installers can useA desktop tool such as SAM, or code such as pvlib if someone on the team writes Python.
Main riskNo company to call. Check commits, releases, docs and licence before you rely on it.

Why does open-source solar software matter for installers?

It lets you inspect the model, run it in bulk and keep working if a company changes its terms. It does not give you support, proposals or a sales flow.

In our view, open-source tools suit three jobs: checking a design tool’s yearly figure, running batch studies over many sites and powering internal scripts. This is not survey data. For model steps, see energy yield simulation.

Stacked health-score points for three invented projects and a step chart showing how one day moves a total across a band

Figure 1. On example inputs, A scores 100 and C scores 20, while one extra day moves B from 74 to 68.

What is the difference between free and open source?

Free means no price. Open source means the licence gives you rights over the code. A tool can be one, both or neither.

The Open Source Initiative’s page says "Open source doesn’t just mean access to the source code." It lists 10 criteria, including free redistribution, source code and derived works.

LabelWhat it tells youExample
Free of chargeNo price today. Says nothing about the code or your rights.OpenSolar: "we’ve made our software free for solar professionals". The page gives no source or licence statement.
Public source codeYou can read the code. The licence may still limit use or sharing.Judge by the licence text, not the label.
Open sourceThe licence meets the 10 criteria.NREL: SAM source code is on GitHub "under the terms described in the SAM open source license".
Free dataYou may use the data on stated terms. That is not a software licence.PVGIS data: "free for public use if the source is acknowledged". The page names no licence.

A free tool can add paid parts later. An API is not a licence either. OpenSolar publishes API documentation, covered on the API page. Its free page still states no source licence. Weather files carry their own terms. See NSRDB and weather and solar resource data.

Which licence types matter?

Two families cover most solar tools. Permissive licences add few conditions. Copyleft licences require shared changes to stay open. Check the licence text, not the family name.

  • BSD-3-Clause (permissive). SPDX prints three conditions. Source redistributions keep the copyright notice and disclaimer. Binary redistributions reproduce them. You may not use the authors’ names to endorse derived products without permission.
  • GPL-3.0 (copyleft). Section 5 of the GPL version 3 text (29 June 2007) covers a modified work you pass on. It says "You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy."
  • Older descriptions. A December 2017 Sandia workshop deck said SAM and SSC were "Licensed under a mixed MIT-type license and GPLv3 license". The openpvtools list is undated, with a 2018 copyright line. It shows SAM as "Mixed MIT/GPL 3". The ssc README says "SSC is licensed with BSD-3-Clause terms" and links to the SAM repository’s licence file.
  • Conflicting files. feedinlib’s README, setup.py and PyPI 0.1.0rc2 page say MIT, but its repository LICENSE file holds GPL-3.0 text. When the files disagree, ask the maintainers before you rely on it.

Lists and older decks can lag the repository. Do not copy a licence from a list. Open the LICENSE file for the release you install. Ask a lawyer if you plan to ship the code inside a product. pvlib’s licence is covered on the pvlib page.

How solar software handles open-source licensing

SAM, pvlib and feedinlib show public source, and feedinlib’s own files disagree on the licence. OpenSolar and PVGIS state no source licence on the pages we read. Yes in the table means a cited page says the source is public. It is not a ranking.

ToolSource public?
SAMYes
pvlib pythonYes
feedinlibYes, but read-only
OpenSolarNot stated
PVGISNot stated

Not stated means the pages we read do not say.

Licence and maintenance details for each tool:

  • SAM, source and terms: NREL’s page puts the source code on GitHub under "the SAM open source license". It calls the software "free" for "commercial, academic, or personal purposes", "as is", but does not name the licence.
  • SAM, licence: the ssc README names BSD-3-Clause and links to the repository’s LICENSE file, which we opened and which reads BSD 3-Clause License. The 2017 deck and openpvtools show an older "mixed MIT/GPL" description.
  • SAM, maintenance: ecosyste.ms, synced 25 March 2026, gives the address natlabrockies/sam and a last push on 24 March 2026.
  • pvlib python: BSD-3-Clause, per its GitHub page. See the pvlib page for the version and date.
  • feedinlib: the README, setup.py and PyPI say MIT, but the LICENSE file holds GPL-3.0 text. GitHub says "archived by the owner on Sep 16, 2025", and PyPI 0.1.0rc2 is dated 17 December 2019.
  • OpenSolar: no licence is stated on the free page (modified 7 May 2026) or in a Solarproof article (4 June 2026).
  • PVGIS: data is "free for public use if the source is acknowledged", with no licence named.

ecosyste.ms is a third-party index and can lag GitHub. The openpvtools page marks active projects with an asterisk and shows PVLib Matlab as 2012 to 2018, but it gives no update date. For open-source design and modelling tools, see the best open-source solar design software.

What are the maintenance and support risks?

With open source, the support burden is yours. No company promises a fix, a date or an answer. A stalled project is your problem.

  • No warranty. NREL says SAM is provided "as is", with warranties disclaimed.
  • Archived repositories. An archived project gets no new fixes. feedinlib shows this on its GitHub page.
  • Moved addresses. SAM’s repository appears as NREL/SAM on older pages and natlabrockies/sam on the ecosyste.ms record. Update bookmarks and install scripts.
  • Skills. A library needs someone who can code and read the model.

Treat output like any other model. Compare it with measured production or another tool, as the 8760 page does for hourly data.

How do you check a project’s health?

Score each check below, and stop if the repository is archived. Our rubric below is our own, not a standard. Its cut-offs are our choices.

  1. Last commit: how many days ago was the latest change?
  2. Last release: how many days ago was the latest tagged version?
  3. Contributors: how many people committed in the last 12 months?
  4. Docs: tick an install guide, a worked example, a reference and docs that match the current version.
  5. Licence: is a licence file present, and do README and package page name the same licence?
  6. Stop sign: is the repository archived? If so, cap the score at 20.

Each of the first five checks scores up to 20. Commit and release age score 20 up to 90 days, 14 up to 180, 7 up to 365, then 0. Contributors score 20 for five or more, 12 for two to four and 5 for one. Docs score 5 per tick. Licence scores 10 for a file and 10 more if it is stated consistently. The 90-day first cut-off is our choice.

Example projectInputs (example)Points: commit, release, people, docs, licenceTotal and band
A20 days. 75 days. 6 people. 4 docs ticks. Licence consistent20, 20, 20, 20, 20100, 70 or more: low risk for scripted use
B140 days. 300 days. 2 people. 3 docs ticks. Licence consistent14, 7, 12, 15, 2068, 40 to 69: check before relying
C500 days. 700 days. 1 person. 1 docs tick. Licence file only0, 0, 5, 5, 1020, under 40: high risk

Step rules create cliffs. With B’s other inputs fixed, a last commit 90 days ago gives 74. At 91 days it gives 68, below the 70-point line. Treat the band as a prompt to read the project, not a verdict. The score cannot see code quality, security or how fast maintainers answer issues. A score of 100 on example inputs says nothing about any real project.

Open-source project health calculator

For a full-screen view, open the health score calculator on its own page.

Open the calculator on its own page

Common mistakes with open-source solar software

FAQs

Is OpenSolar open source?

Not on the pages read. OpenSolar is free to use, but its free page names no source code or licence. Treat it as free, not open, unless the company publishes a licence.

Is SAM open source?

Yes. NREL’s SAM page says the source code is on GitHub under the SAM open source licence. The ssc README names BSD-3-Clause. Older descriptions say otherwise, so open the LICENSE file for your version.

Can I use open-source tools in paid client work?

Often yes, if you meet the licence conditions. BSD-3-Clause lists three conditions. Keep the notice in source. Reproduce it in binaries. Do not use the authors’ names to endorse. GPL-3.0 section 5 requires the entire modified work to carry the same licence when you pass it on. This is not legal advice.

How do I tell if an open-source solar tool is maintained?

Check the last commit, last release and whether the repository is archived. GitHub shows feedinlib as archived by its owner on 16 September 2025, and ecosyste.ms gives SAM a last push on 24 March 2026. Our screening steps of 90, 180 and 365 days are a prompt, not a standard. A stable tool can be quiet for months, so read the issue list too.

Is pvlib open source?

Yes. pvlib python’s GitHub page lists the BSD-3-Clause licence, which is permissive, so few conditions apply. Read the LICENSE file for the release you install before you ship code in a product.

Does open source mean the data is open too?

No. PVGIS says its data is "free for public use if the source is acknowledged". It names no licence on that page. Check each dataset’s terms separately.

  • pvlib python: an open-source Python library for PV models.
  • NSRDB: a US satellite solar dataset.
  • Weather and solar resource data: the inputs these tools read.
  • Energy yield simulation: the model chain from weather to kWh.
  • API: how closed tools expose data without opening code.

Next step: before you adopt a tool, run the health check on it, starting with the candidates in the best open-source solar design software list. For modelling, see the best solar simulation software.

Sources

Last updated 30 October 2026. Next scheduled review: 30 January 2027.

See the software on your shortlist.

Tell the SolarSoftwares team what you want in your solar software.

Your request goes by email to the SolarSoftwares team. A demo time is set only after we reply.