Repository navigation
Apache Incubator Proposal
OpenCrawling is an open-source, enterprise-grade, high-performance data crawling, content ingestion, and security-aware vector search platform. Built on modern Java 25 (leveraging Virtual Threads and Structured Concurrency), Spring Boot 4, and Spring AI, OpenCrawling serves as the reference implementation of the Open Ingestion Standard (OIS) and provides a secure Model Context Protocol (MCP) server interface. It orchestrates scalable data flows from heterogeneous enterprise repositories and distributed web crawlers (e.g., SharePoint, S3, CMIS/Alfresco, BPMN engines like Camunda and Flowable, Apache StormCrawler, gRPC streams) to downstream vector databases and lakehouses (e.g., Apache Solr Dense Vector Search, Apache SeaTunnel for 100+ target fan-out, Apache Iceberg, Apache Ozone, Milvus, Qdrant, OpenSearch, Vespa, pgvector) with source-level Access Control List (ACL) security enforcement and end-to-end Change Data Capture (CDC) delete lifecycle management.
The OpenCrawling community proposes to incubate OpenCrawling as a new project within the Apache Software Foundation (ASF). OpenCrawling provides a decoupled, vendor-neutral enterprise data integration framework that bridges the gap between traditional enterprise content management (ECM) repositories, web-scale crawlers, and modern Large Language Model (LLM) / Retrieval-Augmented Generation (RAG) architectures.
The project encompasses:
-
Core Ingestion Runtime (
oc-core,oc-runtime): A distributed, asynchronous engine built with virtual threads, claim-check metadata patterns, and Apache Kafka event streams. -
Repository & Crawler Connectors: Standardized connectors for scanning enterprise repositories and distributed web-scale crawl topologies via Apache StormCrawler (
oc-stormcrawler-boltandoc-stormcrawler-repository-connector). - Downstream Vector & Data Integration Sinks: Output connectors for indexing dense vector embeddings into search engines (including native Apache Solr 10/9 Dense Vector Search) and distributed data integration bridges like Apache SeaTunnel for multi-sink fan-out across 100+ destinations.
- Open Ingestion Standard (OIS): The formal JSON/YAML schema specifications defining unified document payloads, ACL security SIDs, document lifecycle states (UPSERT / DELETE tombstones), and crawler job configurations.
- Secure Model Context Protocol (MCP) Server: A Zero-Trust context retrieval server enforcing document-level permissions (Active Directory SIDs, LDAP groups, user principals) at query time.
- Observability & Developer Tooling: AI-Powered Observability (AIOps) over OpenTelemetry traces, Auto-Narrativization Copilot, Java Client SDK, and Maven Archetypes for custom connector development.
In enterprise AI and RAG architectures, LLM agents require seamless access to unstructured content stored across legacy and cloud repositories. However, traditional ingestion pipelines often strip out or ignore source-level security metadata (ACLs), leading to context leakage where an AI model synthesizes responses using confidential documents that the requesting user does not have permissions to view.
Furthermore, legacy crawling tools (such as Apache ManifoldCF or Apache Nutch) were architected over a decade ago prior to the emergence of vector databases, LLMs, Model Context Protocol (MCP), and modern Java features like Virtual Threads (JEP 444) and Structured Concurrency.
OpenCrawling was created to address this modern ingestion crisis by providing a native Java 25/Spring AI implementation engineered specifically for LLM search scenarios, zero-trust context retrieval, and high-throughput asynchronous processing.
The Apache Software Foundation is the natural home for OpenCrawling. ASF has long been the global center of innovation for enterprise search, big data integration, and distributed infrastructure, hosting cornerstone projects such as Apache Lucene, Apache Solr, Apache Tika, Apache Kafka, Apache Iceberg, Apache Ozone, Apache Storm, Apache StormCrawler, Apache SeaTunnel, Apache ManifoldCF, and Apache Nutch.
Bringing OpenCrawling to the ASF offers multiple mutual benefits:
-
Ecosystem Integration: OpenCrawling directly integrates with and builds upon existing Apache projects across every layer of the ingestion and search lifecycle:
- Apache Tika: Native integration for enterprise document parsing, OCR, and metadata extraction (supporting Apache Tika 4.x).
- Apache Kafka: Decoupled, asynchronous event-driven streaming architecture for claim-check payloads and embedded vector chunks.
-
Apache Ozone: Distributed, enterprise-scale object store utilized for high-throughput claim-check payload offloading (
oc-ozone-output-connectorand Ozone claim-check store). -
Apache Storm & Apache StormCrawler: Native web-scale distributed crawling. OpenCrawling provides
oc-stormcrawler-boltfor deployment into Storm worker topologies andoc-stormcrawler-repository-connectorfor dynamic crawl supervision via the Nimbus REST API, propagating HTTP 404/410 status streams as OIS DELETE tombstones to eliminate stale vector embeddings. -
Apache SeaTunnel: High-throughput distributed data integration. With
oc-seatunnel-output-connector, OpenCrawling streams embedded chunks and ACLs directly to SeaTunnel Zeta, mapping OIS DELETE tombstones toRowKind.DELETEfor synchronized lakehouse and vector store fan-out across 100+ downstream sinks. -
Apache Solr: Native Dense Vector Search (
oc-solr-output-connector) utilizing Solr 10 & 9.xsolr.DenseVectorField, HNSW Approximate Nearest Neighbor (ANN) search, Solr 10 scalar & binary quantization, SolrCloud/ZooKeeper clustering, automated REST schema provisioning, and Zero-Trust ACL query-time filtering. - Apache Iceberg: Open lakehouse table format connector for long-term document archiving, vector analytics, and compliance audit reporting.
-
Apache Maven: Connector archetype distribution for rapid community extension (
org.opencrawling.archetypes).
- Vendor-Neutral Governance: Neutral governance under the Apache Way is vital to establishing OpenCrawling and OIS as industry-wide, vendor-agnostic ingestion standards.
- Community Sustainability: Operating as an Apache project will attract a broader community of enterprise adopters, cloud providers, AI framework developers, and search engine vendors.
During incubation, the OpenCrawling project will focus on the following milestones:
-
ASF Migration & Infrastructure:
- Transfer codebases (
opencrawling,open-ingestion-standard,oc-stormcrawler-bolt,opencrawling.github.io) to Apache infrastructure (github.com/apache/incubator-opencrawling). - Rebrand build artifacts to
org.apache.opencrawling. - Setup ASF-compliant CI/CD pipelines using GitHub Actions.
- Transfer codebases (
-
Community & Governance:
- Adopt the Apache Way for all decisions, roadmap discussions, and release voting.
- Expand the contributor base across independent developers, enterprise search users, and corporate contributors.
- Establish joint collaboration channels with the Apache Solr, Apache Storm, Apache SeaTunnel, and Apache Tika communities.
-
Ecosystem & Connector Expansion:
- Release additional output connectors (Elasticsearch, RESTHeart).
- Add native integration for fine-grained authorization frameworks (e.g., OpenFGA).
- Enhance gRPC support for high-efficiency inter-microservice communication.
- Standardize OIS specification drafts under ASF governance.
-
Compliance & Licensing:
- Complete IP clearance and execute software grant agreements.
- Ensure all third-party dependencies strictly conform to Apache License Category A policies.
The OpenCrawling project was established with meritocratic principles from day one. Design decisions, architecture changes, issue tracking, and roadmap discussions take place openly on GitHub through RFCs, Pull Requests, and public wiki pages.
The OpenCrawling community includes developers and architects from enterprise search, ECM, distributed computing, and AI backgrounds. Community channels include GitHub Discussions, Slack, and social media announcements. The project actively encourages external contributions via Maven archetypes and modular connector development.
The initial core developers and contributors are experienced software architects and open-source veterans with extensive experience in enterprise search, content management, distributed systems, and ASF governance:
-
Piergiorgio Lucidi (
piergiorgio@apache.org) – Founder, Lead Architect. ASF Member, PMC Member and Committer on multiple Apache projects (including Apache ManifoldCF and Apache Chemistry), and PMC Member of Apache Community Development. -
Michael Cizmar (
michael@michaelcizmar.com) – Lead Architect & Developer. Specialist in enterprise search and cloud infrastructure. -
Luis Cabaceira (
luis.cabaceira@texter.ai) – Lead Architect & Developer. Specialist in document processing, Natural Language Processing, and AI integration. -
Davide Polato (
davide.polato@gmail.com) – Core Engineer & Contributor. Specialist in distributed streaming topologies, Apache Storm, and Apache StormCrawler integration. -
Maurizio Turatti (
maurizio.turatti@softinstigate.com) – Strategy & Enterprise Architecture Advisor. Co-founder of SoftInstigate, co-creator of RESTHeart, and distributed systems architect with extensive background at Sun Microsystems and Alfresco. -
Simon Hearne (
simon.hearne@gmail.com) – Solution Architect at Zilliz. Contributor and maintainer of the Milvus Output Connector.
The risk of OpenCrawling becoming orphaned is low. The project solves an active, urgent security and performance problem in enterprise AI adoption (RAG ACL context leakage). The core maintainers are committed to its long-term evolution and actively use it in production environments.
The project leadership has deep experience with open-source communities. Piergiorgio Lucidi is an active ASF Member and PMC member with over a decade of experience guiding projects through the Apache Way.
The initial committers come from diverse geographical locations (Italy, United States, Portugal) and distinct organizations/consultancies. Incubating at Apache will further diversify the developer base by encouraging contributions from enterprise organizations, search vendors, and vector database creators.
OpenCrawling is designed to be vendor-neutral. Core dependencies are open-source libraries under permissive licenses (Apache 2.0, MIT, BSD):
- Spring Boot & Spring AI (Apache 2.0)
- Apache Tika (Apache 2.0)
- Apache Kafka (Apache 2.0)
- Apache SolrJ (Apache 2.0)
- Apache Storm & StormCrawler (Apache 2.0)
- Apache SeaTunnel (Apache 2.0)
- Apache Ozone Client (Apache 2.0)
- Apache Iceberg SDK (Apache 2.0)
- PostgreSQL / pgvector (PostgreSQL License / MIT)
- Docker & OpenTelemetry (Apache 2.0)
There are no GPL/AGPL dependencies in the runtime core.
OpenCrawling is an independent project. The name "OpenCrawling" has been used for the open source codebase. The trademark will be transferred to the Apache Software Foundation upon incubation acceptance.
- GitHub Organization: https://github.com/opencrawling
-
Main Code Base:
opencrawling/opencrawling -
StormCrawler Bolt:
opencrawling/oc-stormcrawler-bolt -
Specification Repo:
opencrawling/open-ingestion-standard - Documentation & Wiki: https://github.com/opencrawling/opencrawling/wiki
-
Java Client SDK:
oc-java-client-sdk(Sonatype Central -org.opencrawling:oc-java-client-sdk) -
Maven Archetypes: Sonatype Central -
org.opencrawling.archetypes
The initial codebase to be granted to the ASF resides in the following GitHub repositories:
-
opencrawling/opencrawling(Core engine, microservices, UI, connectors including Apache Solr and Apache SeaTunnel, MCP server) -
opencrawling/oc-stormcrawler-bolt(Apache Storm worker bolt streaming OIS payloads and delete tombstones) -
opencrawling/open-ingestion-standard(JSON schemas, whitepaper, specifications) -
opencrawling/opencrawling.github.io(Project web site and documentation source)
All source code is currently licensed under the Apache License, Version 2.0.
All core contributors will submit Individual Contributor License Agreements (ICLAs) and corporate software grants will be executed upon acceptance into the Incubator.
All major external dependencies of OpenCrawling use Apache-compatible licenses (Category A):
| Dependency | License |
|---|---|
| Java Development Kit (JDK 25) | GPLv2 + Classpath Exception |
| Spring Boot / Spring AI | Apache License 2.0 |
| Apache Tika (4.x) | Apache License 2.0 |
| Apache Kafka Clients | Apache License 2.0 |
| Apache SolrJ (Solr 10/9 Client) | Apache License 2.0 |
| Apache Storm & StormCrawler | Apache License 2.0 |
| Apache SeaTunnel API & Engine | Apache License 2.0 |
| Apache Ozone Client | Apache License 2.0 |
| Apache Iceberg SDK | Apache License 2.0 |
| Jackson / Slf4j / Logback | Apache 2.0 / MIT / EPL 1.0 |
| Milvus / Qdrant Java SDKs | Apache License 2.0 |
| OpenTelemetry Java SDK | Apache License 2.0 |
| React / Vite / Tailwind (Admin UI) | MIT |
OpenCrawling uses standard TLS/HTTPS protocols and hashing routines provided by the standard Java Virtual Machine (JDK) and Spring Security framework for secure transport. It does not include custom cryptographic algorithms or controlled export software.
dev@opencrawling.incubator.apache.orgcommits@opencrawling.incubator.apache.org-
private@opencrawling.incubator.apache.org(PPMC)
https://github.com/apache/incubator-opencrawlinghttps://github.com/apache/incubator-opencrawling-site
- GitHub Issues on
apache/incubator-opencrawling(or ASF Jira projectOPENCRAWLING)
- GitHub Actions workflows for automated build, test, multi-arch Docker image generation, and Sonar/Scorecard quality checks.
-
Piergiorgio Lucidi (
piergiorgio@apache.org) – Initial Committer & PPMC -
Michael Cizmar (
michael@michaelcizmar.com) – Initial Committer & PPMC -
Luis Cabaceira (
luis.cabaceira@texter.ai) – Initial Committer & PPMC -
Davide Polato (
davide.polato@gmail.com) – Initial Committer & PPMC -
Maurizio Turatti (
maurizio.turatti@softinstigate.com) – Initial Committer & PPMC -
Simon Hearne (
simon.hearne@gmail.com) – Initial Committer & PPMC
(Note: Additional mentors and committers will be welcomed during the discussion period on general@incubator.apache.org.)
-
Champion: Piergiorgio Lucidi (
piergiorgio@apache.org) – ASF Member -
Mentors:
- (TBD - Interested ASF Members/Incubator PMC members invited to step forward during proposal discussion)
The Apache Incubator PMC is requested to be the sponsoring entity for this project.
- Home
- User & Installation Guide
- Quick Start
- VM & Bare-Metal Distribution Installation
- Local Development & Fast Docker Builds
- User Guide
- Architecture
- Zero-Trust Security & ACL Management
- Document Lifecycle Actions & Tombstones
- Apache Tika 4 Text Extraction
- Configuration Guide
- Connectors Reference
- Alfresco Content Services (ACS) Connector
- Alfresco Process Services (APS) Connector
- Flowable Repository Connector
- Camunda Repository Connector
- OASIS CMIS Repository Connector
- Doxis Repository Connector
- M-Files Repository Connector
- SharePoint Online Repository Connector
- Hyland OpenArch Integration (Repository, Output & MCP)
- Relational Database (JDBC) Connector
- Apache StormCrawler Repository Connector
- gRPC Push Repository Connector
- Apache Solr Output Connector
- Luxir Output Connector
- Apache SeaTunnel Output Connector
- Apache Ozone Output Connector (Migration Mode)
- Connector Execution Modes
- Model Context Protocol
- Apache Ozone Claim Check Store
- Lakehouse Audit Reporting & Ledger
- AI-Powered Observability (AIOps)
- Auto-Narrativization Copilot
- Maven Connector Archetypes
- Java Client SDK
- OpenCrawling CLI
- OpenAPI Specification & Swagger UI
- gRPC Internal Transport
- Migration Guide (ManifoldCF)
- Integration Test — Decoupled Pipeline
- M-Files Integration Test
- SharePoint Online Integration Test
- Hyland OpenArch Integration Test
- Local Docker Build Test
- Secure MCP Server Integration Test
- Narrativization Integration Test
- Reporting Integration Test