Repository navigation
Moving OmniWM to the OmniNull Organization #712
Replies: 2 comments 1 reply
|
Update: the move is done. OmniWM now lives at https://github.com/OmniNull/OmniWM. What changed:
What you may want to do:
What stays the same:
The organization starts deliberately small: one repository, a single Thank you again to everyone who reported, tested, contributed, and argued. This is your project too. |
|
Wow, it makes me so happy to see you're a God-fearing man. It's wonderful to see how your project has helped you grow not only professionally but also personally. I still remember when I first saw you in the support chats for Project Rift. That's where I learned about this project, and it caught my attention because, being a Linux lover but a macOS user due to work, I wanted to have Niri's experience. I don't know you personally; I only spent some time reporting bugs. But I did study your writing style and how you express yourself, and I remember that when I reached frustration and collapsed, all I wanted was peace and wisdom. And it seems God is good. My best wishes, and long live open source, creativity and altruism, and good ideas for the benefit of all! |
Uh oh!
There was an error while loading. Please reload this page.
I have been thinking for a while about whether OmniWM has reached the point where it should stop living under my personal GitHub account and instead have a proper home of its own.
I believe that time may have come.
Before I actually make the transition, though, I want to open this discussion with the community first.
The organization I am currently planning to create is OmniNull (Hack the Planet!), with OmniWM remaining exactly what it is today:
OmniNull/OmniWM
This is not meant to be just a cosmetic change. I want to explain why I think the transition now makes sense, where OmniWM came from in the first place, and why the community is ultimately the reason I am even considering this.
How OmniWM started
OmniWM started from something very personal.
I absolutely fell in love with the workflows that projects like Hyprland and Niri brought to Linux.
They changed the way I thought a desktop could work.
When I borrowed money from a friend for my first Mac, I genuinely missed that workflow almost like a drug. Once you get used to that kind of fluid tiling, keyboard-driven navigation, dynamic layouts, and the freedom these projects give you, going back to a traditional desktop workflow feels very difficult.
So OmniWM originally existed because I wanted that experience on my Mac.
That was it.
I was not thinking about building an organization, creating some large open-source ecosystem, or having other developers use OmniWM as a reference.
I simply wanted to build something I personally wanted to use.
And I also want to be very clear about where the inspiration came from.
I have enormous love and respect for the creativity of the Linux community♥️ ♥️ ♥️ ♥️ 🫡🫡🫡🫡
Hyprland, Niri, and many other projects showed me what was possible when people stop accepting that a desktop has to work one particular way.
Interestingly, I have seen quite a few people discover OmniWM and initially think they were looking at some version of Niri or Hyprland running on macOS.
For some people, OmniWM was actually their first experience to that style of Linux workflow.
And in a strange way, I love that, because what they are really discovering is some of the incredible creativity that has existed in the Linux community for years.
But the community made OmniWM what it is today
If OmniWM had remained purely my personal project, I would probably have considered it finished a long time ago.
Once it worked well enough for my own workflow, I likely would have been satisfied.
But that did not happen.
People started showing up.
People reported bugs.
People came up with workflows I had never considered.
People suggested features that I would never have personally needed or thought off.
People tested strange configurations and monitor setups that exposed problems I would never have discovered myself or had the hardware for testing it.
People contributed code.
People challenged decisions.
People encouraged development when things were frustrating. For this, thank you soooooooo much 😢♥️ 🙏
And slowly OmniWM became something much larger than the thing I originally built for myself.
That belongs to the community.
One of the things that has touched me the most is seeing people who had never even used GitHub before create an account just to participate in OmniWM.
Sometimes it was to report a bug.
Sometimes to suggest something.
Sometimes simply to leave support or encouragement.
As a Christian, there is something about that which reminds me, obviously in a completely different context, of Christ's teaching that there is more joy in Heaven even over sinner who turns toward God than ...
The meaning I take from that here is not about numbers.
It is about the value of one person.
A project could have thousands of anonymous users, but seeing one person care enough to enter an unfamiliar platform, make an account, and participate means an enormous amount to me.
Those individual people are what transformed OmniWM from something I built for myself into something I feel responsible for maintaining properly.
Why I think an organization makes sense now
There is another thing I have started noticing more frequently.
OmniWM increasingly appears to be becoming a reference point for other macOS window managers and has the most community forks.
Sometimes this is completely explicit.
I have seen projects acknowledge OmniWM directly in README files, commit messages, or implementation discussions.
I appreciate that enormously.♥️ ♥️ ♥️
Open source is built on people learning from one another, but never forget that division only conquers progress.
OmniWM itself exists because I was inspired by what other communities had already accomplished.
But there have also been cases where I have noticed other implementations appear shortly after a particular OmniWM change, sometimes following extremely similar underlying patterns.
In a few cases, similar bugs have even appeared alongside those patterns.
Programming languages obviously differ, so identical syntax is not what I mean. What becomes interesting is when you remove the language differences and compare the underlying logic, sequence of operations, architectural pattern, and resulting behavior.
I want to be careful here.
Similar implementations and timing by themselves do not prove that someone copied OmniWM, and I do not want this discussion to turn into accusations against other developers. But consistent repeated pattern speaks volumes.
That is not the purpose of mentioning it.
The important part is something else:
OmniWM is increasingly becoming part of the broader macOS window-management ecosystem.
People are studying it.
People are referencing it.
People are contributing to it.
People are building ideas around it.
At that point I think the project deserves an identity and home that exists independently of my personal GitHub account.
Why OmniNull?
The plan would be:
OmniNull
└── OmniWM
OmniWM would remain OmniWM.
The meaning behind the name would not change either.
The Omni name has always had a deeper personal meaning for me, connected to my faith, my respect for God, and ultimately doing the work to the glory of God.
WM simply means Window Manager.
For the organization itself I wanted something that kept the Omni identity while also reflecting the culture surrounding low-level software, Unix, systems programming, reverse engineering, and old-school hacker culture.
That is where OmniNull came from.
It feels like a natural home for OmniWM while also leaving room for other projects or tools in the future (which I have some revolutionary ones planned) without requiring everything to be called a window manager.
What would actually change?
Not very much for users.
The existing OmniWM repository would be transferred, not recreated.
The commit history would remain.
The contributors would remain.
The issues and discussions would remain.
The pull requests would remain.
The releases would remain.
The project would simply move from my personal GitHub namespace into:
github.com/OmniNull/OmniWM
The bigger change would be behind the scenes.
An organization would allow OmniWM to gradually have a healthier structure around things such as:
Most importantly, it would begin separating me as an individual developer from OmniWM as an open-source project, birthed by the community and for the community.
I think that distinction becomes increasingly important as a project grows.
I do not want to "over-engineer" this!
At the same time, I do not want OmniNull to suddenly become some giant bureaucracy.
I do not want ten committees, twenty repositories, complicated titles, or governance documents nobody reads.
OmniWM works because people build things.
I want to preserve that.
The organization should exist to make collaboration easier, not slower.
So initially I would expect the structure to remain extremely simple.
One organization.
OmniWM.
A small group of trusted maintainers.
Contributors.
And then we let the structure evolve naturally if the project actually needs more.
This is where I would really appreciate advice
There are people in the open-source community who have already gone through exactly this transition.
Some of you maintain projects much larger than OmniWM.
Some may have maintained large projects in the past.
I would genuinely appreciate hearing from you before I make the move.
In particular, I would love advice about things like:
And if anyone here has actually managed a large open-source GitHub organization and would be willing to help me review the OmniNull setup before or during the transition, I would be extremely grateful.
I would rather learn from people who have already made these mistakes than unnecessarily repeat them.
And finally, thank you 🙇🙏♥️ ♥️ ♥️ ♥️
OmniWM began because I missed a workflow.
I wanted something like the experience I loved on Linux on my Mac, so I started building it.
But if this had remained only about me, OmniWM would probably have stopped evolving a long time ago.
Instead, people showed up.
You reported bugs.
You suggested ideas.
You contributed code.
You tested ridiculous edge cases.
You disagreed with me when something could be better.
Some of you even created your first GitHub account just to participate.
That is why I think this transition matters.
Moving OmniWM into an organization is not about making the project look bigger than it is.
It is about acknowledging something that has already happened:
OmniWM is no longer just my personal project.
I may have started it, but the community helped make it what it is today.
I think it is time to begin giving the project a home that reflects that.
So before I create OmniNull and begin transferring anything, I would really like to hear what you think.
Especially if you have maintained a large open-source project before:
What would you do in my position, and what should I make sure I get right from the beginning?
All reactions