When building applications, if you take a step back and look at the forest instead of the trees, you will see that most of your code is reacting to something that changed or trying to control application state.
ReactiveUI provides you with building blocks that are particularly adept at expressing the relationship between a group of changing things and allows you to express the intent of a product feature in a single readable place which makes managing application state a piece of cake.
Applications built with ReactiveUI cope gracefully as the application gets more complicated because of the foundations of reactive programming that ReactiveUI is built upon.
You'll find ReactiveUI inside of products made by Amazon (Cloud Drive), Atlassian (Sourcetree), Slack (Mobile), GitHub (Visual Studio), Elastic (Search) and 343 Industries (Halo 5)
🎉 There is a Better Way 🎉
Instead of imperative programming, we can use a paradigm called Functional Reactive Programming which allows you to model user input as a function that changes over time, abstracting away the idea of mutable state. Reactive programming can look scary and complex at first glance, but the best way to describe reactive programming is to think of a spreadsheet:
- Imagine three cells, A, B, and C.
- C is defined as the sum of A and B.
- Whenever A or B changes, C reacts to update itself.
That's reactive programming: changes propagate throughout a system automatically.
🎁 What We'll Use the Money For 🎁
Our initial goal is $x,000/month. That money will be enough to restore the imbalance of open-source , those who support you will now be supported. If ReactiveUI has no maintainers it will quickly become useless to all users and the project will die... again
- Hire a technical writer to improve the project documentation, focusing on making reactive programming more accessible.
- StackOverflow questions answered within 72 hours with best practices and authoritative solutions.
- One maintainer - part-time. Open-source succeeds in every aspect except sustaining those who sustain open-source. Transitioning to semi-employed allows more time to be spent improving ReactiveUI and more time with family. As open-source software scales, projects need someone to handle things like community interaction, backlog triage, defect investigation and doing servant leadership activities to increase the productivity of maintainers, contributors and consumers. Currently, these tasks take a few hours every day which means there are minimal blocks of focused time available to work on framework features, do ambitious things or support the community at a higher level and is a source of friction for any maintainer that has family commitments.
- Tooling that automates maintainer activities, essentially exchanging money to buy time. We currently use services to automate marketing, interactions between services and provide community analytics. This fee grows as the community grows.
⚡️ Stretch Goal ⚡️
The stretch goal ($xx,000/month) is a total game changer and enough to keep ReactiveUI going, indefinitely and take reactive programming to the next level, enabling us to do things like:
- Two maintainers - part-time or One maintainer - full time to work on new framework features, do A+ level community management, mentor newbies, ship solutions to defects in < 72 hours and maintain upstream dependencies such as System.Reactive.
- Internship - paid for a student (ala google summer of code) to hack on research and shipping advancements to tooling/the reactive programming ecosystem.
- Create tooling that visualizes observables to provide developers with a live birds-eye view of their application, all observables within it and the signals they and where they were created from.
- Make reactive programming more accessible by taking documentation/learning experience to 11. Imagine, ReactiveUI running in your browser via webassembly so that developers have a REPL like an experience to learn the concepts of reactive programming in .NET without having to download or install anything.
The stretch goal would be amazing to hit, but simply being totally supported by the generosity of others makes us endlessly grateful, no matter what else happens.
Anyway, thanks for any support you can offer if you decide to - Geoffrey Huntley
👨💻 Team 👨💻
ReactiveUI is made possible by these wonderful people. We ❤ the people who are involved in this project, and we’d love to have you on board, especially if you are just getting started or have never contributed to open-source before.
We are a .NET Foundation project that is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use. Other projects that are associated with the foundation include the .NET Compiler Platform ("Roslyn") as well as the ASP.NET family of projects, .NET Core & Xamarin Forms.
Your point of contact for business, sponsorship, backer and email inquiries related to ReactiveUI is Geoffrey Huntley and he can be reached via email at [email protected].
📖 Bespoke Offerings 📖
- Publicity and services in exchange for allocating time every sprint (opensourcefriday.com) to contribute back to ReactiveUI. You'll be investing into the personal growth and development of your employees whilst at the same time improving their knowledge of the abstractions they build upon which leads to skill improvements and improved quality of deliverables to your clients.
- Run in-person (or remote) workshops that teach software developers how to think reactively and express themselves in a reactive manner.
- Help with the hiring, sourcing and interviewing of quality software developers who grok reactive programming. Specifics available upon enquiry.
- Get hands-on help from ReactiveUI's experienced team members and solution architects for developer support services, code-reviews, design and architecture reviews. Ask development questions via email or a private support desk and get prompt answers from an expert.
- Hire the maintainers of ReactiveUI to aide with the development of your application that uses the framework (terms: sections of work, unrelated to your core intellectual property that are related to the framework may be released as open-source but only after mutal discussions)
❔ Frequently Asked Questions ❔
- If you help or support us, we will help you and provide services - this isn't a charity cause. Instead of a hiring an expensive booth at a conference to attract the attention of software developers why not stand out from the crowd by sponsoring an open-source project? It's a quick and easy way to hack the hearts of software developers and realign your companies brand away from the competition. You'll get continual and measurable leads throughout the year instead of a once-off big bang experiment which may not pay off. Interested? Start a private discussion with Geoffrey Huntley and we will figure this out, together.
- Support and maintenance efforts are directed towards the needs of our paying backers, sponsors and customers first. We support those who help restore the imbalance of open-source and ensure those who support the project are supported. If ReactiveUI has no maintainers it will quickly become useless to all users and the project will die... again. The catherdal needs to be rebuilt, open-source is now digital infrastructure that must be maintained or else.
- Visits to your sponsored links can be tracked through the use of Google "utm" parameters which will be automatically appended to your link. The utm_source will be "ReactiveUI", the utm_medium will be set appropriately and the utm_campaign can be customized by you. If you use Google Analytics on your website these will be automatically tracked and will show the number of incoming visitors from the sponsored link.