Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 162 additions & 2 deletions profile/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,163 @@
## Hi there! 👋
# NI LabVIEW Open-Source Initiative

For guidance on policies and workflows in this organization, refer to the [CONTRIBUTING](CONTRIBUTING.md) document.
**NI provides the platform. The community provides the real-world expertise. Together we build better tools.**

---

## You're Invited to Shape the Future of LabVIEW

NI is opening up **real product source code** for open-source contribution. Your contributions are reviewed by NI R&D, aligned to the product roadmap, and ship directly in LabVIEW — giving you **visibility**, **real impact**, and **direct collaboration with NI engineers**.

### Our Goals

| Goal | What It Means |
|---|---|
| **Accelerate Innovation** | Deliver new capabilities faster by combining NI and community expertise |
| **Improve Quality** | Find and resolve bugs faster with more eyes on the code |
| **Increase Collaboration** | Leverage the real-world experience of the LabVIEW community |
| **Renew Trust** | Provide transparency and more options for the tools you depend on |
| **Team-Based Workflows** | Improve tooling for modern, collaborative development |

---

## Open-Source Repositories

| Repository | Description |
|---|---|
| [Actor Framework](https://github.com/ni/actor-framework) | NI's reference implementation of the Actor Model in LabVIEW — enabling scalable, message-based architectures for complex applications |
| [Icon Editor](https://github.com/ni/labview-icon-editor) | The LabVIEW Icon Editor — create and customize VI icons across every LabVIEW project |

> **Community contributions from both repositories are shipping in LabVIEW 2026Q3.** Thank you to all contributors who made this possible.

We are actively evaluating additional repositories to open for community contribution:

| Repository | Status |
|---|---|
| Quick Drop Plugins | Under evaluation |
| LabVIEW gRPC | Under evaluation |

---

## How You Can Contribute

**Apart from writing code, you can do a lot more.** There are no commitment traps — participate at your comfort level.

> Repo-specific contribution guidelines, coding standards, and setup instructions can be found in the `CONTRIBUTING.md` file within each repository.

### Submit an Idea or Report a Bug

Found something that doesn't work right? Have an idea for an improvement? Open an issue.

- Go to the repository's **Issues** tab
- Click **New Issue** and select the appropriate template
- Provide a clear title, description, and steps to reproduce (for bugs)

*"I don't know how to write code — can I still contribute?"* **Absolutely.** Submitting a well-described issue or idea is one of the most valuable things you can do.

### Join Discussions

Share your real-world expertise. Participate in **GitHub Discussions** to help shape design decisions and feature direction.

- Browse open discussions or start a new one
- Share use cases, feedback, or questions
- Vote on ideas you'd like to see implemented

### Provide Feedback and Test Changes

Help validate pre-release packages and pull requests. Install a build, try it in your environment, and report your findings. Testing is one of the most impactful contributions.

### Contribute Code

*"I have a fix for an issue — tell me what's next?"*

1. **Find an issue** — Look for issues labeled `Workflow: Open to Contribution`
2. **Comment on the issue** — Let repo owners know you'd like to work on it
3. **Fork the repository** and create a feature branch
4. **Implement your changes** following the coding guidelines
5. **Submit a Pull Request** targeting the appropriate branch
6. **Respond to review feedback** — repo owners will review and may request changes
7. **Merge** — once approved, your changes are merged and queued for release

### The Process at a Glance

#### Ideation & Scoping

![Ideation and Scoping Flow](assets/flow-part1.png)

#### Integration & Release

![Integration and Release Flow](assets/flow-part2.png)

---

## Contribution Guidelines

### Before You Start

- **Sign the Contributor License Agreement (CLA)** — required once per GitHub account, only for code contributions. Not needed for reporting issues, joining discussions, or testing.
- **Check existing issues and discussions** — your idea may already be in progress.
- **Start small** — a bug fix or documentation improvement is a great first contribution.

### What We Expect

- Follow NI LabVIEW style guidelines and the design patterns established in each repository.
- Maintain backward compatibility unless a breaking change has been explicitly approved.
- Include a linked Issue ID, design rationale, and testing evidence with every Pull Request.
- Keep changes focused — one PR per issue or feature.

### Code Quality

- Write unit tests for new functionality.
- Ensure all existing CI checks pass before requesting review.
- Use clear, descriptive VI/class naming conventions.
- Update documentation and examples when adding or changing features.

### Review Timeline

Pull Requests are reviewed by repo owners. Expect:

- **Initial review** within 5–10 business days
- **Follow-up reviews** within 3–5 business days after revisions
- Once approved, PRs are merged promptly and queued for the next release cycle

---

## Governance

These repositories are maintained under a **Steering Committee** model:

- **Technical Steering Committee (SteerCo)** — defines the roadmap, reviews architectural changes, and approves feature directions. Composed of NI staff and selected community architects.
- **Repo Owners** — handle code review, CI validation, merge approvals, and release tagging.
- **NI** retains final decision authority on major roadmap and architecture changes.

### Our Goals Moving Forward

| Direction | What We're Doing |
|---|---|
| **Expand** | More LabVIEW functionality, more NI software |
| **Simplify** | Fewer barriers, lower intimidation |
| **Build Confidence** | Safe participation, clear expectations |

---

## Get Connected

| Channel | Purpose |
|---|---|
| [NI GitHub](https://github.com/ni) | Browse all NI open-source repositories (use the `ni-open-source` topic to find projects) |
| [GitHub Issues](https://github.com/ni/actor-framework/issues) | Report bugs and request features |
| [GitHub Discussions](https://github.com/ni/actor-framework/discussions) | Design proposals, Q&A, and community conversation |
| [NI Open-Source Discord](https://discord.gg/WRT7wXu9ZY) | Real-time community collaboration |

---

## Get Started Now

1. Visit the [NI GitHub](https://github.com/ni) and explore the repositories
2. Browse open issues or start a discussion
3. Join the conversation on [Discord](https://discord.gg/WRT7wXu9ZY)
4. Take one action — even a small one — to join the engagement

You don't need anything but your curiosity.

**Small Steps = Big Changes.**
Binary file added profile/assets/flow-part1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added profile/assets/flow-part2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.