Code of conduct
Exalynt's mission is to improve the quality of life by inspiring excellence. Excellence covers how we treat people as well as the software we build. A brilliant solution delivered with contempt, dishonesty, or exhaustion doesn't improve anyone's life.
This code describes the conduct we expect from everyone who works with Exalynt, so that our core values show up where the work actually happens: in a block, a code review, a checkpoint, an issue thread, or a hard conversation.
How we treat people is part of the work, not separate from it.
Who this applies to
| Who | Where |
|---|---|
| Exalynt engineers, at every level and in every role | Client engagements, self-funded blocks, Exalynt's own channels and tools, and events. |
| The founder and anyone in a leadership role | Everywhere engineers are, with a particular responsibility to model this code (details). |
| Contributors to Exalynt's open source projects | Repositories, issues, pull requests, discussions, chat, and anywhere else the project's community meets. |
| Clients, including everyone on the client's team | The engagement: checkpoints, meetings, messages, and shared tools. |
| Partners, and anyone else acting with or for Exalynt | Any interaction connected to Exalynt. |
It also applies in public when someone represents Exalynt, such as speaking at an event or posting as Exalynt, and to conduct anywhere that threatens the safety of people in our community.
What we expect of everyone
Each part of this section puts a core value into practice. None of it requires agreement, perfection, or a particular personality. It asks for care.
Treat people with dignity
We care how our words and actions affect others, and we remember that insight can come from anyone. Lead with kindness and humility
- Be candid and respectful, especially when the conversation is difficult. Challenge ideas without belittling the person who holds them.
- Welcome people of every background, identity, and level of experience. A beginner's question deserves the same respect as an expert's.
- Give feedback about the work, specifically and kindly, and receive feedback about your own work with openness.
- When someone tells you that you've caused harm, listen, apologize, and change what you do, even if you didn't intend it.
Tell the truth about the work
Honesty is what makes short iterations and shared risk work. A client can only decide whether the next block is worth buying if they know what really happened in this one. Be honest and transparent
- Report what was actually done, including what didn't work and what's still rough. Mark work with the stability level it has really reached.
- Distinguish what you know from what you assume or have yet to understand.
- Don't overpromise to win work, please someone, or avoid an awkward conversation. Share bad news early, with clarity and care.
- Never claim someone else's work, or let credit land on you that belongs to them.
Own commitments and their consequences
We follow through on what we accept and take responsibility for what happens because of our choices. Take ownership
- Make commitments carefully, keep them, and say so early when you can't.
- When you make a mistake, own it without shifting blame, help repair its consequences, and learn from it.
- Address problems within your responsibility, and raise the ones outside it with someone who can act.
Seek understanding before judging
Most conflict starts with a misunderstanding, not bad intent. Seek understanding and alignment
- Listen with curiosity and ask questions before assuming intent.
- Before arguing against a view, make sure you can explain it fairly, and check with the person who holds it.
- Remember that people work across time zones, languages, and cultures, and that written words lose tone. Read generously and write clearly.
- When you disagree, aim for alignment: what we agree on, what we still disagree on, and how we'll proceed.
Do work we can stand behind
We pursue quality value through balanced, sustainable work, and we care about the people affected by what we build. Pursue excellence
- Build with quality appropriate to the purpose and the consequences of the work, and never compromise the security and privacy baseline.
- Don't build software meant to deceive, exploit, or harm the people who use it or are affected by it.
- Protect a sustainable pace for yourself and others. Don't pressure anyone into long hours, and respect people's boundaries, rest, and time away.
Help each other succeed
Progress usually comes through the efforts of many people. Succeed together
- Share what you know so others can build on it, and ask for help when you need it.
- Make room for others to contribute and grow, and be patient with people who are learning.
- Give credit generously and celebrate shared progress.
- Respect other people's time and limits, including when you ask for help.
What is not acceptable
These behaviors are never acceptable, from anyone, in any space this code covers:
- Harassment, intimidation, threats, or violence, in person or online.
- Discrimination, or demeaning remarks about anyone's race, ethnicity, nationality, religion, gender, gender identity or expression, sexual orientation, disability, age, appearance, socioeconomic status, level of experience, or any other personal characteristic.
- Unwelcome sexual attention, advances, or content.
- Personal attacks, insults, and deliberately disrupting discussions.
- Sharing someone's private information without their permission.
- Deceiving clients, teammates, or users, such as misreporting progress, hiding a mistake or a security problem, or presenting someone else's work as your own.
- Misusing confidential information, client code, data, or credentials.
- Pressuring someone to act against this code, the law, or their professional judgment about safety, security, or honesty.
- Retaliating against anyone who raises a concern in good faith or takes part in looking into one.
Engineers
Engineers hold clients' trust, code, and data, so a few expectations go further than the shared ones above.
- Keep client confidences. Use a client's code, data, credentials, and business information only for that client's work, share them only with people who need them for it, and don't discuss them elsewhere. Don't put confidential material into tools or services, including AI tools, that the client hasn't agreed to.
- Own everything you submit. Whether you wrote it by hand, generated it, or adapted it from elsewhere, you're responsible for understanding it, for its quality, and for respecting its license and attribution.
- Report security and privacy problems immediately. If you find a vulnerability, a data exposure, or a mistake that puts people at risk, tell the client and Exalynt right away. Hiding it is never the right call.
- Disclose conflicts of interest. If a relationship, other work, or financial interest could affect your judgment on an engagement, tell Exalynt before it does.
- Recommend what's right for the client. Give honest recommendations, even when the right answer is a smaller block or not building something at all, and stay within what the client bought (details).
- Speak for yourself in public. Don't speak for Exalynt or a client, or name a client, unless you're authorized to.
Open source contributors
Exalynt buys its own capacity for open source because sharing what we build is part of succeeding together. These expectations apply to everyone in Exalynt's open source projects, whether or not they work for Exalynt.
- Everyone is welcome to contribute. First contributions, questions, bug reports, and documentation fixes are all valued.
- Respect the time of maintainers and other contributors. Read the project's documentation and contribution guide, search existing issues before opening a new one, give reproducible details, and keep discussions on topic.
- Review to improve the work and help the contributor grow, not to win an argument or keep people out. Explain the reasoning behind requests and decisions.
- It's fine to say no. Maintainers may decline a contribution that doesn't fit the project, and should explain why kindly. Contributors may disagree respectfully, and the maintainers make the final call.
- Contribute only what you have the right to. Contributions are released under the project's license and follow its contribution terms. Credit the ideas and code you build on.
- Report security vulnerabilities privately, following the project's security policy, never in a public issue.
When Exalynt engineers contribute to someone else's project, we're guests in that community. We follow its code of conduct and contribution terms as well as this one, and we aim to leave it better than we found it.
Clients
A good engagement is a partnership. What you can expect from us is described in Working with Exalynt: a clear goal at the start of every iteration, risks raised early, honest checkpoints, and work you own. In return, we ask you to:
- Treat engineers with the same respect you expect from them. What is not acceptable applies to everyone on your team too.
- Share the real situation. Tell us your goals, constraints, deadlines, and what has changed. The best recommendation depends on accurate context, including when something isn't working for you.
- Ask Exalynt, not an individual engineer, for more capacity. Work beyond what you bought belongs in the next block. Please don't ask engineers to work extra hours, nights, or weekends to fit more in. Our sustainable pace is part of the quality you're paying for (why).
- Don't ask us to compromise on integrity. We won't mislead your users, cut the security and privacy baseline, or break the law. If a request crosses that line, we'll say so plainly and look for another way to reach your goal.
- Give us honest feedback. Tell us what's working and what isn't, at the checkpoint or whenever it comes up. We'd rather hear it early.
Leadership is held to it first
The founder and anyone in a leadership role, including an Engineering Lead, are held to this code before anyone else. Leaders model it, act on concerns promptly and fairly, and never use their position to discourage someone from raising a concern. A concern about a leader is handled without that leader's involvement.
Raising a concern
If you experience or witness conduct that breaks this code, or you're unsure whether it does, please raise it.
- Talk to the person directly, if that feels safe and reasonable. Often it's the fastest and kindest path. It's never required.
- Otherwise, tell Exalynt. Engineers can go to their Engineering Lead or straight to Exalynt's leadership. Clients can go to their main Exalynt contact or to Exalynt's leadership. Open source contributors can contact the project's maintainers privately, rather than in a public issue.
- If anyone is in immediate danger, contact local emergency services first.
When you raise a concern, we listen, take it seriously, and keep it as confidential as we can, sharing it only with the people who need to know in order to act. We'll tell you what we're doing about it, as far as others' privacy allows. A concern raised in good faith is never held against you, even if we find that the code wasn't broken.
How we respond
We respond the way our values ask us to: by understanding what happened, being honest about it, and repairing the harm.
- We hear from the people involved before deciding anything.
- The response fits the situation. It may be a private conversation, a request to change behavior, a written warning, removal from a conversation or project, a temporary or permanent ban from an open source project, or the end of an assignment or engagement.
- Safety comes first, then repair. Where it's possible, we'd rather someone own the harm, make it right, and learn from it than simply be removed.
- We explain our decision to the people involved, as far as privacy allows.
When money and our core values conflict, we choose our core values.
That includes this code. Exalynt will decline revenue, end an engagement, or part ways with someone when that's what upholding it requires (details).
Frequently asked questions
Who does this code of conduct apply to?
Everyone who works with Exalynt: engineers at every level, the founder and anyone in a leadership role, contributors to Exalynt's open source projects, clients and their teams, and partners. It also applies in public when someone represents Exalynt. See Who this applies to.
Is this code of conduct a contract?
No. Like the rest of these documents, it explains how Exalynt works and is not a contractual agreement. An engineer's written agreement and assignment, and a client's terms, govern the work. This code describes the conduct we expect within them, and how we respond when it isn't met.
Does disagreeing with someone break the code?
No. Candid disagreement is part of good engineering, and alignment allows room for disagreement. The code asks you to challenge ideas while preserving the dignity of the people who hold them.
Can engineers use AI tools on client work?
Yes, within two limits. You own everything you submit, however it was produced, so you're responsible for understanding it, its quality, and its license. And don't put a client's confidential code, data, or information into a tool or service the client hasn't agreed to.
What should I do if a client asks me to work extra hours?
Say kindly that more work belongs in the next block, and raise it with your Engineering Lead or Exalynt. You aren't expected to work past a block, and protecting a sustainable pace is part of the quality the client is paying for. See A marathon, not a sprint.
What if my concern is about the founder or another leader?
Raise it the same way. Leaders are held to this code first, and a concern about a leader is handled without that leader's involvement. See Leadership is held to it first.
Will I get in trouble for raising a concern that turns out to be unfounded?
No. A concern raised in good faith is never held against you, even if we find that the code wasn't broken. Retaliating against someone for raising a concern is itself a violation.
What happens if a client breaks the code of conduct?
We raise it with the client directly and honestly, and we look for a way forward. If the conduct is serious or continues, Exalynt may decline the next block or end the engagement. When money and our core values conflict, we choose our core values.
How does this relate to Exalynt's mission and core values?
The mission says what we're trying to do, the core values say how we act along the way, and our philosophy describes what excellence asks of the work. This code describes what those values look like in how we treat each other, and what we do when someone falls short.