OPCFoundation

OPCFoundation/UA-.NETStandard

C# No license IoT License not recognized by GitHub

OPC Unified Architecture .NET Standard

2.3k stars
1.1k forks
active
GitHub +20 / week

2.3k

Stars

1.1k

Forks

19

Open issues

30

Contributors

AI Analysis

The OPC UA .NET Standard Stack is the official OPC Foundation reference implementation of OPC Unified Architecture for .NET, providing a certified, cross-platform stack with client, server, PubSub, GDS, and complex type support. It serves industrial control, manufacturing, energy, and IoT systems that require standards-based machine-to-machine communication; it is best suited for organizations building OPC UA infrastructure rather than general application developers.

IoT Library Discovery value: 3/10
Documentation 9/10
Activity 9/10
Community 8/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

opc-ua industrial-iot dotnet-standard machine-communication compliance-certified
Actively maintained Well documented Niche/specialized use case Popular Production ready
Deep Analysis · Based on README and public signals
5d ago

Official OPC UA reference stack for .NET; certified, cross-platform, production-grade industrial middleware

The OPC Foundation's reference implementation of OPC Unified Architecture for .NET Standard, offering full-stack client, server, PubSub, and companion-spec support. Used in manufacturing, energy, and IoT systems. Version 2.0 modernizes the API surface with dependency injection, source generation, and Native-AOT support. This is not a startup project — it's the canonical implementation backed by industry standards governance.

Origin

Created February 2016 as the OPC Foundation's official .NET stack. Evolved from earlier COM-based OPC implementations into a cross-platform, certified reference. The 1.x line (master378 branch) remains supported; 2.0 (master) represents a breaking but deliberately modernizing release targeting contemporary .NET ecosystems.

Growth

Steady, incremental adoption driven by OPC UA's embedded role in industrial automation and energy systems. The 2.0 release (circa 2024–2026) appears to correlate with renewed investment: modern .NET framework support (.NET 8, 9, 10), dependency injection patterns, and LLM tooling (MCP server). Growth is measured and deliberate rather than viral; adoption follows standards adoption and industrial deployment cycles, not developer zeitgeist.

In production

README explicitly states 'used in production across industrial control, manufacturing, energy, and IoT systems.' Certified through OPC Foundation Certification Test Lab and continuously verified against Compliance Test Tool. NuGet downloads metric available but not provided in metadata. OPC Foundation backing provides institutional adoption signals beyond GitHub metrics. Specific customer names or deployment scale not disclosed, but the certification claim and companion-spec breadth suggest material production usage.

Code analysis
Architecture

Modular, split-package design (Core / Client / Server / Bindings) allowing consumers to adopt only what they need. Likely uses visitor patterns for node management and state machines for protocol state. Source-generated NodeManagers and DataTypes suggest code generation as a first-class concern. Appears to follow Microsoft.Extensions.DependencyInjection and modern hosting patterns. No ability to inspect implementation details beyond README claims of certification compliance and companion-spec coverage.

Tests

Azure DevOps CI/CD with automated test reporting and codecov badge present. README states 'Tests' and 'Coverage' badges are active, suggesting systematic testing. No explicit coverage percentage disclosed in README. Test quality relative to industrial-grade certification not verifiable from metadata alone.

Maintenance

Last push 2026-07-05 (today relative to analysis date). Active, continuous development. NuGet package has documented stable releases and preview feed. Both master (2.0) and master378 (1.5 LTS) branches maintained. 7 stars gained in last 7 days is modest but consistent with an established, non-viral project. Maintenance is clearly active, not languishing.

Honest verdict

ADOPT IF: you need .NET-based OPC UA client/server on Windows, Linux, or cloud infrastructure; your organization requires certified standards compliance; you target industrial/manufacturing/energy domains where OPC UA is established; you can tolerate a breaking 2.0 API migration or stay on 1.x LTS. AVOID IF: you need lightweight, zero-dependency protocol bindings; you prefer pure JavaScript/Python runtimes over .NET; your use case doesn't benefit from OPC UA's industrial legacy and formal certification; you're looking for a niche or experimental protocol. MONITOR IF: you're evaluating OPC UA for IoT or edge deployment; the Native-AOT and LLM/MCP tooling (2.0 features) might unlock new integration patterns worth tracking.

Independent dimensions

Mainstream potential

4/10

Technical importance

8/10

Adoption evidence

7/10

Risks
  • Breaking API changes in 2.0 require migration effort for 1.x consumers; adoption of 2.0 depends on whether the modern patterns (DI, source gen) justify the disruption.
  • .NET ecosystem skews Windows/enterprise; adoption ceiling in pure-cloud or polyglot DevOps shops may be lower than in traditional manufacturing.
  • OPC UA specification complexity and multiple companion specs create a steep learning curve; implementations can diverge on edge cases despite certification.
  • Dependency on .NET runtime (even .NET Standard 2.1) excludes bare-metal or embedded scenarios; competing implementations (C, Go) have lower runtime overhead.
  • Adoption metrics opaque; real-world deployment scale and customer base not publicly quantified, making true market footprint difficult to assess.
Prediction

UA-.NETStandard will remain the canonical .NET OPC UA reference implementation, with steady adoption in established industrial verticals (manufacturing, energy) and gradual penetration into modern cloud and edge IoT via .NET 8+. The 2.0 release's dependency injection and source-generation patterns suggest a pivot toward contemporary .NET practices; LLM tooling (MCP server) is early-stage experimentation. Mainstream consumer/DevOps adoption unlikely due to OPC UA's niche industrial roots, but technical importance will persist within its domain.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

C#
99.9%
PowerShell
0.1%
Batchfile
0%
Dockerfile
0%
Shell
0%

Information

Language
C#
License
NOASSERTION
Last updated
6h ago
Created
127mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

node-opcua

node-opcua/node-opcua

node-opcua is a comprehensive OPC UA (Open Platform Communications Unified...

1.6k TypeScript IoT
gopcua

gopcua/opcua

A native Go implementation of the OPC/UA Binary Protocol, enabling industrial...

1k Go IoT
FreeOpcUa

FreeOpcUa/opcua-asyncio

An asyncio-based OPC UA (IEC 62541) client and server library for Python 3.10+,...

1.4k Python IoT
thesysdev

thesysdev/openui

OpenUI is a full-stack framework for generative UI that combines a compact...

7.9k TypeScript AI & ML
Universal-Commerce-Protocol

Universal-Commerce-Protocol/ucp

UCP is an open standard specification enabling interoperability between...

3.2k Python Finance
vs. alternatives
FreeOpcUa/opcua-asyncio

Python async client library; narrower scope (client-focused, no server). UA-.NETStandard is multi-role (client/server/pubsub/gds), certified reference, and anchored in .NET ecosystem. Different ecosystems and maturity models.

node-opcua/node-opcua

TypeScript/Node.js full-stack. Similar feature breadth to UA-.NETStandard but targets JavaScript runtime. UA-.NETStandard has OPC Foundation certification and tighter standards coupling; node-opcua is community-driven. Neither obsoletes the other — language and runtime preference dominates choice.

gopcua/opcua

Go language implementation. Narrower than UA-.NETStandard (primarily client/server basics, less companion-spec coverage). Go's deployment model and UA-.NETStandard's .NET/Windows industrial legacy are orthogonal; adoption depends on target infrastructure.

opentelemetry-opentelemetry-dotnet

Different domain (observability/instrumentation vs. industrial protocol). Not a competitor; could be integrated alongside UA-.NETStandard for telemetry. Different problem.

Universal-Commerce-Protocol/ucp

Distinct protocol and problem domain (commerce vs. industrial automation). Not a functional competitor despite higher GitHub star count.