OpenProject vs Redmine: when each one is the right choice
OpenProject fits teams that need SAML or OpenID Connect single sign-on, LDAP group sync, portfolio views or custom branding out of the box, while Redmine fits teams that want a free GPL-2.0-or-later core and will manage plugins themselves. Both are self-hosted and both can serve a regulated organization, but they reach that goal by different routes: one through a licensed Enterprise tier on top of a GPL-3.0 Community edition, the other through a volunteer-maintained core that is free to use and extend. The decision turns on four questions: how many people will use the tool, whether identity and portfolio features are requirements rather than nice-to-haves, how much plugin maintenance your team can absorb, and how much project history must move across.
Start with identity. OpenProject lists SSO with SAML, OpenID Connect, CAS or Kerberos and LDAP group sync as Enterprise plan features, so if your directory team expects group-driven access from day one, confirm current pricing on the OpenProject pricing page and ask for the Enterprise terms in writing. Redmine supports LDAP authentication in its core, but SAML or OIDC sign-in typically depends on plugins, so an identity provider integration becomes a item you must test, document and re-test after each Redmine upgrade. Check the plugin's maintenance status and compatibility with your Redmine version before you commit.
Then weigh effort and history. A small team with light governance can run Redmine cheaply, but the cost is recurring plugin upkeep, which is internal staff time or a services retainer. A larger program that needs baseline comparisons or portfolio roll-ups will likely justify OpenProject's Enterprise subscription. For migration, inventory your existing trackers, custom fields, wiki pages and repository links, then run a test import in a staging copy. Confirm the release you will deploy: OpenProject ships roughly monthly minor releases, while Redmine 7.0.2 and 6.1.5 were released on September 30, 2026, so pick the branch your support model can keep patched.
Which platform fits which scenario
This table matches common team situations to the platform that usually fits them better, with the condition that makes each choice hold. Read each row against your own headcount, identity setup and plugin inventory, then use the confirmation column to check the claim before committing.
| Scenario | Better fit | Why and what to confirm |
|---|---|---|
| Small internal team with no SSO requirement | Redmine | Its GPL-2.0-or-later core is free with no paid edition, and it covers multiple projects, Gantt charts, wikis, time tracking and custom fields. Confirm that the team does not need a paid feature such as portfolio views and that volunteer-based maintenance and community support meet its risk tolerance. |
| Mid-size team that needs SSO or LDAP group sync | OpenProject Enterprise | SAML, OpenID Connect, CAS or Kerberos single sign-on and LDAP group sync are listed as Enterprise plan features on OpenProject's pricing page, while Redmine offers LDAP authentication in its core. Confirm which identity protocol your directory uses and whether group sync must be automated, then get the Enterprise scope and cost in writing. |
| Portfolio and resource planning across programs | OpenProject Enterprise | Portfolio and resource management and full baseline comparison are Enterprise features in OpenProject. Redmine's core covers projects, Gantt charts and time tracking but does not list portfolio views. Confirm whether program managers need cross-project roll-ups and resource leveling, and test them on a sample of your real projects. |
| Teams that rely on Git, Subversion or Mercurial integration | Redmine | Redmine lists native repository integration for Git, Subversion and Mercurial in its core. Confirm the exact repository versions, authentication method and branch-linking behavior your engineers use, and check the feature list for OpenProject's current release before assuming parity. |
| Existing Redmine plugin estate | Redmine | Redmine's plugin model is central to its extensibility, so a heavy plugin set is costly to replace. Confirm which plugins are still maintained for your Redmine version, whether equivalents exist in OpenProject, and what data and workflow changes a migration would force on your users. |
| Teams that want a modern UI with vendor-backed releases | OpenProject | OpenProject ships roughly monthly minor releases and sells Enterprise add-ons from the company behind it. This matters most when the organization needs a predictable upgrade path and a contract. Confirm the release and support terms in writing, and test upgrades in a staging environment. |
| Teams with a strict open-source-only policy and no paid tooling | Redmine | Redmine has no paid edition, so the license and feature set stay fixed across deployments. Confirm that required features such as SSO or portfolio views can be met through approved plugins or internal work, and budget for that effort explicitly. |
How each platform is built and what that means for operations
Both platforms are self-hosted, but they differ in how they are assembled, how often they change, and how they grow. The cards below cover the parts operators touch most: the core stack, database support, deployment, the update path, extensions, and repository links. Confirm each point against the current documentation before you commit to a sizing or hosting plan.
Core stack and language
Redmine is written in Ruby on Rails, so teams with Ruby and Rails operations skills can troubleshoot it with familiar tools. OpenProject's core stack is a different question, and the supplied facts do not settle it. Ask the vendor to document the runtime, application server, background job components and supported versions for the release you plan to run. Your platform team will need that list for patching and capacity planning.
Database support
Redmine is cross-database, so the choice of database is an operational decision rather than a product requirement. OpenProject's supported databases were not part of the research supplied for this page. Before you size the environment, confirm with OpenProject which database engines, versions and hosting models are supported for self-hosted installations, and whether that matches your existing database standards.
Deployment in your infrastructure
Both platforms can run inside your own cloud accounts, data centers or isolated networks, which keeps project data under your control. The practical differences lie in packaging, container options and the upgrade tooling you inherit. Ask each vendor for its reference deployment and its guidance on high availability, backups and restores, so you can compare the operating burden on equal terms.
Update cadence and the upgrade path
OpenProject ships minor releases roughly monthly, with 17.9.0 on September 30, 2026 and 17.9.2 on October 15, 2026. Frequent releases shorten the gap for each fix but mean more upgrades to test. Redmine runs parallel stable lines, with 6.1.5 and 7.0.2 released on September 30, 2026. Decide whether your team can absorb monthly changes or prefers a slower line, and write that policy down before go-live.
Plugins and add-on model
Redmine extends through a plugin model maintained largely by its community, so each plugin needs its own compatibility check when the core moves to a new major line. OpenProject keeps its paid capabilities, such as SSO and portfolio views, in its Enterprise plans rather than in a plugin marketplace. Inventory every plugin or add-on you need, then verify its owner, license and support status against the version you intend to run.
Repository integration
Redmine integrates with Git, Subversion and Mercurial repositories, which suits development teams that want commits and issues linked in one place. Confirm how OpenProject connects to your source control, including which systems it supports and how authentication is handled. If developers work mainly in one hosted code platform, test the integration path during evaluation rather than assuming parity.
How SSO and LDAP needs change the decision
If your directory is LDAP or Active Directory and you do not need browser-based single sign-on, both products can authenticate users against the directory. Redmine includes LDAP authentication in its core, so there is no paid edition to evaluate for this case. OpenProject lists LDAP group sync as an Enterprise plan feature, which matters only if you want directory groups to drive project roles automatically.
- Core LDAP login: Redmine's free core covers LDAP authentication. Confirm the bind account, TLS settings and attribute mapping with your directory team in a test environment.
- Group sync: OpenProject lists LDAP group sync on its pricing page as an Enterprise feature. Without it, you assign roles to users or groups inside the application and maintain that mapping yourself.
- Offboarding: Ask how disabled directory accounts are reflected in each product, including whether existing sessions and API tokens are revoked.
- Audit trail: Confirm which login and permission changes are logged, and whether those logs can be exported to your central log platform.
- Quote question: If you need LDAP group sync from OpenProject, ask DeployOpen to include that Enterprise feature in the written scope and licensing line.
Before deciding, document which directory groups must map to which project roles and who approves changes to that mapping.
If your identity provider issues SAML or OpenID Connect assertions for browser sign-on, the decision depends heavily on edition. OpenProject lists SAML and OpenID Connect single sign-on as Enterprise plan features on its pricing page, beyond the free Community edition. For Redmine, single sign-on is not part of the core described in its project materials, so SSO options depend on plugins or on the surrounding identity layer, such as a reverse proxy or access gateway. Treat those plugins as a separate security review, not as a checkbox.
- OpenProject path: SAML or OIDC sign-on is licensed through the Enterprise plan. Ask for the exact edition and the renewal terms in writing.
- Redmine path: Identify whether a maintained plugin supports your protocol, who maintains it, and how it handles session expiry and attribute mapping.
- Gateway path: An identity-aware proxy in front of Redmine can enforce sign-on, but confirm how it passes user identity and how API access is handled.
- Group model: Decide whether IdP groups or claims map to application roles, and who owns that mapping when it changes.
- Test plan: Verify sign-in, forced logout, deprovisioning and role changes against your actual IdP before go-live.
Confirm the protocol versions and the claims your identity provider sends with your identity team, then test them against the specific product version you plan to run.
Kerberos and CAS environments are the least common and the most sensitive to configuration. OpenProject lists Kerberos and CAS among its Enterprise plan single sign-on options, so these integrations are not part of the free Community edition. Redmine's project materials do not list Kerberos or CAS as core features, so you should assume they require a plugin or a front-end component. Confirm whether either approach is available and supported for your exact version before committing.
- Ticket-based sign-on: Kerberos depends on a correctly configured service principal, keytab handling and time synchronization. Confirm who manages those secrets.
- CAS gateway: Determine whether your CAS server is the only trusted sign-on path, and how service accounts and API clients authenticate.
- Fallback access: Plan a break-glass administrator account that does not depend on the single sign-on path.
- Audit requirements: Confirm that authentication failures and privileged role changes appear in logs your security team reviews.
- Vendor confirmation: Ask OpenProject for the current supported configuration and ask the Redmine plugin maintainer for compatibility with your Redmine version.
Run a pilot with your own identity provider and a non-production copy of the application before you choose the edition or the plugin.
OpenProject vs Redmine feature by feature
This table compares OpenProject and Redmine on license, core features, identity integration and enterprise add-ons. Read the cells as a starting point: where a row depends on the edition or a plugin, confirm the current feature set against the vendor's documentation before you decide.
| Capability | OpenProject | Redmine |
|---|---|---|
| License | GPL-3.0 with a Community edition; Enterprise plan features are paid add-ons | GPL-2.0-or-later with a free core and no paid edition |
| Data model around projects and work packages | Projects and work packages as the central planning objects; confirm the current hierarchy options in the OpenProject documentation | Multiple projects with issues as the central tracking object; extra structure usually comes from custom fields or plugins |
| Role-based access | Included in the Community edition; confirm role granularity for your scenario | Included in the core, with role-based access per project |
| Gantt charts | Included; confirm the baseline and timeline views you need in your edition | Included in the core |
| Wikis and forums | Included; confirm the wiki features available in your edition | Per-project wikis and forums included in the core |
| Time tracking | Included; confirm reporting depth in the current release | Included in the core |
| Custom fields | Included; confirm which field types and scopes your edition supports | Included in the core |
| LDAP authentication | Available; LDAP group sync is listed as an Enterprise plan feature | LDAP authentication included in the core |
| Repository integration | Confirm current source control integrations in the OpenProject documentation | Git, Subversion and Mercurial repository integration included in the core |
| SSO (SAML, OpenID Connect, CAS, Kerberos) | Enterprise plan feature beyond the free Community edition | Not listed as a core feature; confirm options with plugins in the Redmine documentation |
| LDAP group sync | Enterprise plan feature | Not listed as a core feature; confirm plugin options |
| Portfolio and resource management | Enterprise plan feature | Not listed as a core feature; confirm plugin options |
| Baseline comparison | Full baseline comparison is an Enterprise plan feature | Not listed as a core feature; confirm plugin options |
| Custom branding | Enterprise plan feature | Confirm theming and branding options in the Redmine documentation and plugin catalog |
What the GPL license and paid editions include
OpenProject is GPL-3.0 licensed, so the team can download, run, modify and redistribute the Community edition inside its own cloud accounts, data centers or air-gapped networks without paying a license fee for the software itself. The free Community edition is the baseline. The Enterprise plan adds features that the vendor lists on its pricing page, and those features are the reason many teams look at a paid tier.
- Single sign-on: SAML, OpenID Connect, CAS or Kerberos sign-in is listed as an Enterprise feature, so confirm which protocol your identity provider needs before assuming the Community edition covers it.
- LDAP group sync: group membership synchronization is listed as Enterprise, which matters if access follows directory groups.
- Baseline comparison and portfolio views: full baseline comparison and portfolio and resource management are Enterprise features.
- Custom branding: branding changes are listed as Enterprise.
- Vendor support: the paid plan is the route to vendor-backed support, so ask what response channels and scope come with it.
Before committing, ask the vendor which features are included in the subscription term, how upgrades between minor releases are handled, and whether the license covers the exact deployment model you intend to run.
Redmine is GPL-2.0-or-later licensed, written in Ruby on Rails, and maintained by community volunteers with no paid edition. The core product carries no license fee, and the team can run it in its own infrastructure, modify it and redistribute it under the terms of that license. The feature set covers multiple projects with role-based access, Gantt charts, per-project wikis and forums, time tracking, custom fields and LDAP authentication, so many capabilities that teams associate with paid tiers are part of the core.
- Plugin model: much of the extended behavior comes from plugins, each with its own license, maintenance status and compatibility with the Redmine version you run.
- No vendor support tier: there is no paid Redmine edition, so support comes from your own staff, a consultant you contract, or community channels.
- Feature gaps are filled by plugins: capabilities such as portfolio-style reporting or SSO connectors may depend on plugins, so verify each one against your target release.
- Release lines: Redmine publishes several release lines in parallel, so pick the line your plugins support.
- Operational ownership: upgrades, backups and security patching sit with your team or your implementation partner.
Before committing, ask which plugins your workflow depends on, who maintains each one, and what their license terms are.
The two platforms use different GPL versions, and that difference shapes what a team may combine. GPL-3.0 and GPL-2.0-or-later are not interchangeable, and a plugin or extension written under one version may not combine cleanly with code under the other. Teams that modify either product, embed it in another system, or distribute it to customers should not assume the same obligations apply to both.
- Version terms: GPL-3.0 and GPL-2.0-or-later carry different conditions on distribution and patents, so read the text rather than the label.
- Modifications: check what you must publish when you change the core or a plugin, especially for internal-only use versus distribution.
- Plugin licenses: each Redmine plugin and each OpenProject extension may carry its own license, which can differ from the core.
- Contributor agreements: ask whether the project requires contribution terms that affect code you write for the team.
- Subscription terms: the Enterprise agreement is a separate contract and may add restrictions beyond the GPL.
Your team's legal counsel should review both licenses and every plugin license before rollout.
What drives the running cost of each platform
The running cost of OpenProject and Redmine is set less by license fees than by who operates the instance, how often it is upgraded and how much custom plugin or identity work sits on top. Both platforms are free to download under open-source licenses, so the recurring line items are infrastructure in your own cloud or data center, database and backup operations, administrator time, and any paid support. For OpenProject, the one recurring license decision is the Enterprise subscription, which the OpenProject pricing page lists as the tier that adds SAML or OpenID Connect single sign-on, LDAP group sync, full baseline comparison and portfolio and resource management. If your SSO or portfolio requirements are firm, budget that subscription as a yearly line from day one. Confirm the exact price with OpenProject or your reseller, since this section does not state one.
Redmine has no paid edition, so its recurring cost sits almost entirely in people and plugins. The main driver is plugin upkeep: each plugin you add for workflow, SSO or reporting must be checked against each Redmine release, and a plugin that lags can block an upgrade. Redmine's own changelog shows that releases land on separate maintenance lines, including 7.0.2 and 6.1.5 on September 30, 2026 and 6.0.11 on August 26, 2026, so a team on an older line must plan a path forward. OpenProject ships roughly monthly minor releases, with 17.7.0 on August 5, 17.8.0 on September 2 and 17.9.0 on September 30, 2026, which means smaller, more frequent upgrade reviews. Either way, one-time costs include migration, configuration and integration, and recurring costs include patching, backup testing and test-environment upkeep.
Ask each vendor or partner for a quote that separates one-time from recurring items. For OpenProject, request the Enterprise license count and term, the SSO and LDAP scope, and what is included in support. For Redmine, request a list of required plugins with their maintenance status and an upgrade estimate per release line. For both, ask for the database and backup approach, the test environment, the expected upgrade frequency, and who performs patching. Also confirm whether the quote covers the hours of administrator time you will spend each quarter, because that is usually the largest recurring cost and the easiest to underestimate. Ask for these terms in writing before the scope is agreed.
Moving from Redmine to OpenProject, or back, without losing history
This sequence moves projects, users, roles, wiki content, attachments and repository links from one instance to the other, keeps the history auditable, and ends with a documented cutover and a retired source instance.
Inventory what the source instance holds
The project owner and a Redmine administrator list every project, subproject, active and archived status, user account, group, role, tracker, custom field, workflow, wiki, attachment store, forum and linked repository. Plugins are listed separately with their version, their data tables and the feature each one adds. The output is a signed inventory that names what must transfer, what can be retired and which plugin features have no confirmed equivalent in OpenProject. Confirm the supported source and target versions and the migration tooling with the OpenProject vendor before any work starts, because tooling coverage changes between releases.
Map roles, trackers and fields to OpenProject
A solution architect and the process owners agree a written mapping. Redmine roles map to OpenProject roles and their permissions, and each tracker is matched to a work package type with its own statuses and workflow. Custom fields are mapped to OpenProject custom fields of the matching format, and any field with no equivalent is flagged for a decision. Where two Redmine trackers should become one type, or one should split, the decision is recorded. The output is an approved mapping sheet that the test migration will follow.
Migrate users, groups and projects into a test instance
The team builds a non-production OpenProject instance on the same version line planned for production and runs the migration tooling against a recent copy of the Redmine database and file store. Users and group memberships are loaded first, then projects, members and roles, then work packages, versions and custom values. Authentication is tested with the planned identity method, such as LDAP group sync or single sign-on on the Enterprise plan, so that access is not granted through accounts that will later be disabled. The output is a migration log with counts for each object type and a list of rejected records with reasons.
Rebuild wiki, attachments and repository links
Wiki pages, page history and attachments are checked against the source. Where the tooling does not carry a page version history or a file in full, the team decides whether to import the current version only, keep the old instance in read-only form for reference, or export archives. Repository links to Git, Subversion or Mercurial are re-pointed and tested from a sample of commits, since the URLs and credentials usually change. Anything rebuilt by hand, such as wiki links, saved queries, dashboards or Gantt baselines, is listed with an owner. The output is a rebuild checklist with each item marked transferred, rebuilt or retired.
Validate permissions and history with sample reviews
Each project owner reviews a sample of work packages, comments, time entries and attachments against the source and confirms that dates, assignees, status changes and authorship are preserved. A security engineer then tests access for one user per role on a representative set of projects, including private projects and archived projects, and records any user who sees more or less than expected. Plugin-dependent screens are checked separately, because a plugin behavior may have no native equivalent. The output is a signed validation record with defects logged and retested until closed.
Plan and rehearse the cutover
The change owner writes a cutover runbook covering the freeze window for Redmine edits, the final incremental data load, DNS or bookmark changes, identity provider changes, notification to users and a rollback path back to the source instance. The runbook is rehearsed on the test instance at least once, and the team records how long each step took so the production window is set from evidence. Support contacts and the scope of any retainer or fixed-scope engagement with the implementation partner are confirmed in writing. The output is an approved runbook and a rehearsal record.
Cut over and retire the old instance
The team runs the final load during the freeze, reconciles record counts against the rehearsal, opens OpenProject to users and monitors authentication errors and failed notifications for the first working days. The Redmine instance is set to read-only, its database and file store are backed up and retained under the organization's retention policy, and its repository hooks and service accounts are disabled. Retirement is complete when the backup restore has been tested, the access list for the old instance is empty and the decommissioning record is filed. The output is a closed change record and a documented archive of the source data.
Where OpenProject and Redmine projects usually run long
The longest stretches in either platform rarely come from installing the software. They come from the decisions around it: how identity is wired in, how roles are designed, and how existing data gets moved. On OpenProject, the slow part is usually identity and group mapping. Single sign-on through SAML, OpenID Connect, CAS or Kerberos, and LDAP group sync, are listed on the pricing page as Enterprise features, so confirm early that your identity provider and group structure are covered by the edition you plan to buy. Map directory groups to project roles before anyone imports data, because re-assigning memberships after a large import is tedious and error-prone. Ask the vendor to confirm which group sync behavior applies to your directory before you commit to a schedule.
On Redmine, the common delay is plugin compatibility after an upgrade. The core is free and GPL-2.0-or-later, and much of the functionality a team expects, such as extra custom field types, reporting or specialized workflows, may come from plugins maintained by different authors. Before any upgrade, inventory every installed plugin, check each one against the Redmine version you are moving to, and test in a staging copy. Redmine's changelog is the natural starting point for release notes. Plan for a recurring test cycle rather than treating it as a one-time task, and confirm who in your organization or with which contractor owns that work.
For both platforms, the shared sources of delay are role and permission design, custom fields, data import, training, and links to source control or other tools. Decide roles and custom fields on paper before configuring either system, since changing them after data arrives means rework. Test imports on a copy of a real export, and check how attachments, users and history carry over. Agree on repository links (Git, Subversion or Mercurial for Redmine, and whatever your tooling uses for OpenProject) early, because they affect hosting and authentication. Ask any implementation partner for a written scope that lists each of these items, and confirm the timeline for your own environment and user count before setting a date.
Questions buyers ask before hiring outside help
Is Redmine or OpenProject cheaper to run?
Redmine's core is free under GPL-2.0-or-later with no paid edition, so its license cost is zero, but running it still costs staff time for hosting, plugin selection, upgrades and backups. OpenProject's Community edition is also GPL-3.0 licensed, so the difference shows up when you need Enterprise features. Compare total effort instead of license lines: the hours your administrators spend keeping plugins compatible with each Redmine release, against the subscription and integration work for OpenProject. Ask any partner for a written estimate that separates one-time setup from recurring operations.
What drives the cost of an OpenProject Enterprise subscription?
The main cost drivers are the Enterprise features you need and the number of users covered. OpenProject's pricing page lists SSO with SAML, OpenID Connect, CAS or Kerberos, LDAP group sync, full baseline comparison, portfolio and resource management, and custom branding as Enterprise plan features beyond the free Community edition. If you need only one of these, the subscription may be priced around that need. Confirm the current tier, user count and support terms on the pricing page before you budget, and ask whether the subscription recurs annually.
How long does a Redmine to OpenProject migration take?
The timeline depends on the volume and quality of data, not on the platforms alone. The main factors are the number of projects, work packages, attachments and users, how many custom fields and workflows need mapping, and whether historical time entries must carry over. Teams with clean, well-scoped projects and a short list of custom fields move faster than teams with years of unmanaged data. Ask for a written migration plan that lists a test run, a cutover window and a rollback path, and name the data sets in scope before work starts.
Can our own team implement either platform without outside help?
Yes, many teams install and run either platform in-house, provided they have someone comfortable with Linux, the database, email and reverse proxy setup. Redmine is written in Ruby on Rails and runs on several databases, and its plugin model means your team must vet each extension. OpenProject adds Enterprise configuration for SSO and portfolio views. Outside help is most useful for scoping, identity integration, migration, hardening and documentation. Decide which of these you can staff internally and ask a prospective partner for a fixed-scope written proposal covering only those gaps.
What does running either platform ask of administrators and the identity team?
Administrators need to manage projects, roles, custom fields, groups and backups. The identity team's load depends on the sign-in model. Redmine supports LDAP authentication, and OpenProject lists SAML, OpenID Connect, CAS, Kerberos and LDAP group sync as Enterprise features. Before deciding, confirm which protocol your identity provider supports, who owns group mapping, how deprovisioning works, and whether service accounts are needed. Document these answers in the scope so the engagement covers them.
How do upgrades differ between Redmine and OpenProject?
The two projects follow different release rhythms, so plan upgrades differently. OpenProject ships roughly monthly minor releases, with 17.7.0 on August 5, 2026, 17.8.0 on September 2, 2026, and 17.9.0 on September 30, 2026, per its GitHub releases page. Redmine publishes branch releases such as 6.0.11 on August 26, 2026, and 6.1.5 and 7.0.2 on September 30, 2026, per its changelog. Whichever you choose, test plugin and theme compatibility in a staging copy before each upgrade, and agree in writing who applies patches and how often.
Does a fixed-scope engagement cover the migration?
It can, but only if the migration is written into the scope. DeployOpen plans, implements, customizes, integrates, backs up, upgrades and documents self-hosted open-source platforms inside your own infrastructure, and most engagements are fixed-scope with scope, deliverables and timelines agreed in writing before work starts. A migration proposal should name the source systems, the data types, the mapping rules, the test runs and the acceptance criteria. Anything not listed, such as ongoing support, upgrades or continuous testing, is available as a separate retainer.
How DeployOpen helps choose, implement and migrate
DeployOpen helps teams decide between OpenProject and Redmine by first mapping their project workflows, identity requirements and existing data, then implementing the chosen platform inside the client's own infrastructure. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
How we scope
- We confirm which edition each team needs, Community or Enterprise, based on the SSO and portfolio requirements you have written down.
- The written scope lists the projects, plugins, identity sources and repository links that the OpenProject or Redmine deployment must cover.
- We agree the migration source, data volume and cutover window in writing so the quote follows directly from the defined work.
How we build
- We install the chosen platform in your cloud account, data center or air-gapped network, with the database and file storage you approve.
- We configure roles, custom fields, workflows and identity integration, then test access rules against the role matrix you provide.
- We run a trial migration from your current tool, reconcile tickets, wiki pages and attachments, and document every gap found.
How we hand over
- You receive architecture, configuration and runbook documentation covering installation, upgrades, backups and restore steps.
- We walk your administrators through role management, plugin handling and the upgrade path for the release line you select.
- Test evidence and control documentation are delivered as part of the scope, so your internal or independent assessors can review them.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover, scoped separately from the build.
- A retainer can cover planned patch and minor release upgrades, which matter for OpenProject's monthly minor release cadence.
- Ask any implementation partner to confirm response expectations, plugin compatibility checks and who holds backup and restore responsibility in writing.

