diff --git a/build.gradle b/build.gradle
index a5503c7843a..64b9d488365 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1637,6 +1637,7 @@ project(':share-coordinator') {
     implementation project(':metadata')
     implementation project(':server')
     implementation project(':server-common')
+    implementation project(':share')
     implementation libs.slf4jApi
     implementation libs.metrics
 
diff --git a/checkstyle/import-control-share-coordinator.xml b/checkstyle/import-control-share-coordinator.xml
index c11d79d9943..e31d0f48eed 100644
--- a/checkstyle/import-control-share-coordinator.xml
+++ b/checkstyle/import-control-share-coordinator.xml
@@ -56,7 +56,7 @@
             
             
             
-            
+            
             
             
             
diff --git a/checkstyle/import-control-share.xml b/checkstyle/import-control-share.xml
index 531952b9118..f0022d6b318 100644
--- a/checkstyle/import-control-share.xml
+++ b/checkstyle/import-control-share.xml
@@ -33,6 +33,7 @@
   
   
   
+  
 
   
   
diff --git a/core/src/main/java/kafka/server/share/SharePartition.java b/core/src/main/java/kafka/server/share/SharePartition.java
index 274b934a088..e8519939187 100644
--- a/core/src/main/java/kafka/server/share/SharePartition.java
+++ b/core/src/main/java/kafka/server/share/SharePartition.java
@@ -32,18 +32,18 @@ import org.apache.kafka.common.message.ShareFetchResponseData.AcquiredRecords;
 import org.apache.kafka.common.protocol.Errors;
 import org.apache.kafka.common.record.RecordBatch;
 import org.apache.kafka.common.utils.Time;
-import org.apache.kafka.server.group.share.GroupTopicPartitionData;
-import org.apache.kafka.server.group.share.PartitionAllData;
-import org.apache.kafka.server.group.share.PartitionErrorData;
-import org.apache.kafka.server.group.share.PartitionFactory;
-import org.apache.kafka.server.group.share.PartitionIdLeaderEpochData;
-import org.apache.kafka.server.group.share.PartitionStateBatchData;
-import org.apache.kafka.server.group.share.Persister;
-import org.apache.kafka.server.group.share.PersisterStateBatch;
-import org.apache.kafka.server.group.share.ReadShareGroupStateParameters;
-import org.apache.kafka.server.group.share.TopicData;
-import org.apache.kafka.server.group.share.WriteShareGroupStateParameters;
+import org.apache.kafka.server.share.GroupTopicPartitionData;
+import org.apache.kafka.server.share.PartitionAllData;
+import org.apache.kafka.server.share.PartitionErrorData;
+import org.apache.kafka.server.share.PartitionFactory;
+import org.apache.kafka.server.share.PartitionIdLeaderEpochData;
+import org.apache.kafka.server.share.PartitionStateBatchData;
+import org.apache.kafka.server.share.Persister;
+import org.apache.kafka.server.share.PersisterStateBatch;
+import org.apache.kafka.server.share.ReadShareGroupStateParameters;
 import org.apache.kafka.server.share.ShareAcknowledgementBatch;
+import org.apache.kafka.server.share.TopicData;
+import org.apache.kafka.server.share.WriteShareGroupStateParameters;
 import org.apache.kafka.server.util.timer.Timer;
 import org.apache.kafka.server.util.timer.TimerTask;
 import org.apache.kafka.storage.internals.log.FetchPartitionData;
diff --git a/core/src/main/java/kafka/server/share/SharePartitionManager.java b/core/src/main/java/kafka/server/share/SharePartitionManager.java
index 2665d7dd8b4..3679f1c719a 100644
--- a/core/src/main/java/kafka/server/share/SharePartitionManager.java
+++ b/core/src/main/java/kafka/server/share/SharePartitionManager.java
@@ -38,8 +38,8 @@ import org.apache.kafka.common.requests.ShareFetchRequest;
 import org.apache.kafka.common.requests.ShareRequestMetadata;
 import org.apache.kafka.common.utils.ImplicitLinkedHashCollection;
 import org.apache.kafka.common.utils.Time;
-import org.apache.kafka.server.group.share.Persister;
 import org.apache.kafka.server.share.CachedSharePartition;
+import org.apache.kafka.server.share.Persister;
 import org.apache.kafka.server.share.ShareAcknowledgementBatch;
 import org.apache.kafka.server.share.context.FinalContext;
 import org.apache.kafka.server.share.context.ShareFetchContext;
diff --git a/core/src/main/scala/kafka/server/BrokerServer.scala b/core/src/main/scala/kafka/server/BrokerServer.scala
index 34ec3398b8e..f59b6bcae39 100644
--- a/core/src/main/scala/kafka/server/BrokerServer.scala
+++ b/core/src/main/scala/kafka/server/BrokerServer.scala
@@ -47,7 +47,7 @@ import org.apache.kafka.server.{AssignmentsManager, ClientMetricsManager, NodeTo
 import org.apache.kafka.server.authorizer.Authorizer
 import org.apache.kafka.server.common.{ApiMessageAndVersion, DirectoryEventHandler, TopicIdPartition}
 import org.apache.kafka.server.config.ConfigType
-import org.apache.kafka.server.group.share.{NoOpShareStatePersister, Persister}
+import org.apache.kafka.server.share.{NoOpShareStatePersister, Persister}
 import org.apache.kafka.server.log.remote.storage.RemoteLogManagerConfig
 import org.apache.kafka.server.metrics.{ClientMetricsReceiverPlugin, KafkaYammerMetrics}
 import org.apache.kafka.server.network.{EndpointReadyFutures, KafkaAuthorizerServerInfo}
diff --git a/core/src/test/java/kafka/server/share/SharePartitionManagerTest.java b/core/src/test/java/kafka/server/share/SharePartitionManagerTest.java
index 05c6b6c7264..861233cda9c 100644
--- a/core/src/test/java/kafka/server/share/SharePartitionManagerTest.java
+++ b/core/src/test/java/kafka/server/share/SharePartitionManagerTest.java
@@ -49,10 +49,10 @@ import org.apache.kafka.common.requests.ShareRequestMetadata;
 import org.apache.kafka.common.utils.ImplicitLinkedHashCollection;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Time;
-import org.apache.kafka.server.group.share.NoOpShareStatePersister;
-import org.apache.kafka.server.group.share.Persister;
 import org.apache.kafka.server.share.CachedSharePartition;
 import org.apache.kafka.server.share.ErroneousAndValidPartitionData;
+import org.apache.kafka.server.share.NoOpShareStatePersister;
+import org.apache.kafka.server.share.Persister;
 import org.apache.kafka.server.share.ShareAcknowledgementBatch;
 import org.apache.kafka.server.share.context.FinalContext;
 import org.apache.kafka.server.share.context.ShareFetchContext;
diff --git a/core/src/test/java/kafka/server/share/SharePartitionTest.java b/core/src/test/java/kafka/server/share/SharePartitionTest.java
index 38667fefbdc..4d821db3dc6 100644
--- a/core/src/test/java/kafka/server/share/SharePartitionTest.java
+++ b/core/src/test/java/kafka/server/share/SharePartitionTest.java
@@ -37,14 +37,14 @@ import org.apache.kafka.common.record.MemoryRecordsBuilder;
 import org.apache.kafka.common.record.TimestampType;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Time;
-import org.apache.kafka.server.group.share.NoOpShareStatePersister;
-import org.apache.kafka.server.group.share.PartitionFactory;
-import org.apache.kafka.server.group.share.Persister;
-import org.apache.kafka.server.group.share.PersisterStateBatch;
-import org.apache.kafka.server.group.share.ReadShareGroupStateResult;
-import org.apache.kafka.server.group.share.TopicData;
-import org.apache.kafka.server.group.share.WriteShareGroupStateResult;
+import org.apache.kafka.server.share.NoOpShareStatePersister;
+import org.apache.kafka.server.share.PartitionFactory;
+import org.apache.kafka.server.share.Persister;
+import org.apache.kafka.server.share.PersisterStateBatch;
+import org.apache.kafka.server.share.ReadShareGroupStateResult;
 import org.apache.kafka.server.share.ShareAcknowledgementBatch;
+import org.apache.kafka.server.share.TopicData;
+import org.apache.kafka.server.share.WriteShareGroupStateResult;
 import org.apache.kafka.server.util.FutureUtils;
 import org.apache.kafka.server.util.timer.SystemTimer;
 import org.apache.kafka.server.util.timer.SystemTimerReaper;
diff --git a/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/PersisterOffsetsStateBatch.java b/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/PersisterOffsetsStateBatch.java
index 138b79d1733..ff9feaf1918 100644
--- a/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/PersisterOffsetsStateBatch.java
+++ b/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/PersisterOffsetsStateBatch.java
@@ -19,7 +19,7 @@ package org.apache.kafka.coordinator.share;
 
 import org.apache.kafka.common.message.WriteShareGroupStateRequestData;
 import org.apache.kafka.coordinator.share.generated.ShareUpdateValue;
-import org.apache.kafka.server.group.share.PersisterStateBatch;
+import org.apache.kafka.server.share.PersisterStateBatch;
 
 import java.util.Objects;
 
diff --git a/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorService.java b/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorService.java
index 67dc56b61ba..0242ee3f54e 100644
--- a/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorService.java
+++ b/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorService.java
@@ -43,8 +43,8 @@ import org.apache.kafka.coordinator.common.runtime.MultiThreadedEventProcessor;
 import org.apache.kafka.coordinator.common.runtime.PartitionWriter;
 import org.apache.kafka.coordinator.share.metrics.ShareCoordinatorMetrics;
 import org.apache.kafka.server.config.ShareCoordinatorConfig;
-import org.apache.kafka.server.group.share.SharePartitionKey;
 import org.apache.kafka.server.record.BrokerCompressionType;
+import org.apache.kafka.server.share.SharePartitionKey;
 import org.apache.kafka.server.util.timer.Timer;
 
 import org.slf4j.Logger;
diff --git a/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorShard.java b/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorShard.java
index 3eafe7da3d2..a5bf6192024 100644
--- a/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorShard.java
+++ b/share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorShard.java
@@ -47,8 +47,8 @@ import org.apache.kafka.image.MetadataDelta;
 import org.apache.kafka.image.MetadataImage;
 import org.apache.kafka.server.common.ApiMessageAndVersion;
 import org.apache.kafka.server.config.ShareCoordinatorConfig;
-import org.apache.kafka.server.group.share.PartitionFactory;
-import org.apache.kafka.server.group.share.SharePartitionKey;
+import org.apache.kafka.server.share.PartitionFactory;
+import org.apache.kafka.server.share.SharePartitionKey;
 import org.apache.kafka.timeline.SnapshotRegistry;
 import org.apache.kafka.timeline.TimelineHashMap;
 
diff --git a/share-coordinator/src/test/java/org/apache/kafka/coordinator/share/ShareCoordinatorShardTest.java b/share-coordinator/src/test/java/org/apache/kafka/coordinator/share/ShareCoordinatorShardTest.java
index ea51a43084a..50c0f5de3e2 100644
--- a/share-coordinator/src/test/java/org/apache/kafka/coordinator/share/ShareCoordinatorShardTest.java
+++ b/share-coordinator/src/test/java/org/apache/kafka/coordinator/share/ShareCoordinatorShardTest.java
@@ -40,7 +40,7 @@ import org.apache.kafka.image.TopicImage;
 import org.apache.kafka.metadata.PartitionRegistration;
 import org.apache.kafka.server.common.ApiMessageAndVersion;
 import org.apache.kafka.server.config.ShareCoordinatorConfig;
-import org.apache.kafka.server.group.share.SharePartitionKey;
+import org.apache.kafka.server.share.SharePartitionKey;
 import org.apache.kafka.timeline.SnapshotRegistry;
 
 import org.junit.jupiter.api.Test;
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/DeleteShareGroupStateParameters.java b/share/src/main/java/org/apache/kafka/server/share/DeleteShareGroupStateParameters.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/DeleteShareGroupStateParameters.java
rename to share/src/main/java/org/apache/kafka/server/share/DeleteShareGroupStateParameters.java
index 7b57c18f938..59e5886f101 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/DeleteShareGroupStateParameters.java
+++ b/share/src/main/java/org/apache/kafka/server/share/DeleteShareGroupStateParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.DeleteShareGroupStateRequestData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/DeleteShareGroupStateResult.java b/share/src/main/java/org/apache/kafka/server/share/DeleteShareGroupStateResult.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/DeleteShareGroupStateResult.java
rename to share/src/main/java/org/apache/kafka/server/share/DeleteShareGroupStateResult.java
index f24f5791484..264e203800f 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/DeleteShareGroupStateResult.java
+++ b/share/src/main/java/org/apache/kafka/server/share/DeleteShareGroupStateResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.DeleteShareGroupStateResponseData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/GroupTopicPartitionData.java b/share/src/main/java/org/apache/kafka/server/share/GroupTopicPartitionData.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/GroupTopicPartitionData.java
rename to share/src/main/java/org/apache/kafka/server/share/GroupTopicPartitionData.java
index e92ae5c73eb..f0e1809ac46 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/GroupTopicPartitionData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/GroupTopicPartitionData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/InitializeShareGroupStateParameters.java b/share/src/main/java/org/apache/kafka/server/share/InitializeShareGroupStateParameters.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/InitializeShareGroupStateParameters.java
rename to share/src/main/java/org/apache/kafka/server/share/InitializeShareGroupStateParameters.java
index 3dfa4fce932..a1e4cc663e2 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/InitializeShareGroupStateParameters.java
+++ b/share/src/main/java/org/apache/kafka/server/share/InitializeShareGroupStateParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.InitializeShareGroupStateRequestData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/InitializeShareGroupStateResult.java b/share/src/main/java/org/apache/kafka/server/share/InitializeShareGroupStateResult.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/InitializeShareGroupStateResult.java
rename to share/src/main/java/org/apache/kafka/server/share/InitializeShareGroupStateResult.java
index fe61810ac57..744679736ff 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/InitializeShareGroupStateResult.java
+++ b/share/src/main/java/org/apache/kafka/server/share/InitializeShareGroupStateResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.InitializeShareGroupStateResponseData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/NoOpShareStatePersister.java b/share/src/main/java/org/apache/kafka/server/share/NoOpShareStatePersister.java
similarity index 99%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/NoOpShareStatePersister.java
rename to share/src/main/java/org/apache/kafka/server/share/NoOpShareStatePersister.java
index 9b9a984de17..900b25efdd0 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/NoOpShareStatePersister.java
+++ b/share/src/main/java/org/apache/kafka/server/share/NoOpShareStatePersister.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -111,4 +111,4 @@ public class NoOpShareStatePersister implements Persister {
     public void stop() {
         //noop
     }
-}
\ No newline at end of file
+}
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionAllData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionAllData.java
similarity index 96%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionAllData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionAllData.java
index cfe6e383284..2a9f55dd5f6 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionAllData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionAllData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import java.util.List;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionData.java
similarity index 99%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionData.java
index da7f385597e..e424619d8eb 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionErrorData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionErrorData.java
similarity index 96%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionErrorData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionErrorData.java
index 8e6804dac8b..4fb9f83fc52 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionErrorData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionErrorData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * This interface is implemented by classes used to contain the data for a partition with error data
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionFactory.java b/share/src/main/java/org/apache/kafka/server/share/PartitionFactory.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionFactory.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionFactory.java
index f17873aacbe..5adf87c3c27 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionFactory.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.protocol.Errors;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionIdData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionIdData.java
similarity index 95%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionIdData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionIdData.java
index 3ba3edd93d0..feb288bb13c 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionIdData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionIdData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * This interface is implemented by classes used to contain the data for a partition with its partition index
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionIdLeaderEpochData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionIdLeaderEpochData.java
similarity index 95%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionIdLeaderEpochData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionIdLeaderEpochData.java
index 5d44d5448a6..aa9da7428e6 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionIdLeaderEpochData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionIdLeaderEpochData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * This interface is implemented by classes used to contain the data for a partition with its leader epoch
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionInfoData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionInfoData.java
similarity index 95%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionInfoData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionInfoData.java
index 3c430a4d6ec..3c4ef895368 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionInfoData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionInfoData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * This interface is implemented by classes used to contain the data for a partition in the
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateBatchData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionStateBatchData.java
similarity index 96%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateBatchData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionStateBatchData.java
index 7722bd90266..dfd06cb5dd8 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateBatchData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionStateBatchData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import java.util.List;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionStateData.java
similarity index 96%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionStateData.java
index 1ceb0a5904b..f1690ff4d32 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionStateData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * This interface is implemented by classes used to contain the data for a partition with the state epoch and
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateErrorData.java b/share/src/main/java/org/apache/kafka/server/share/PartitionStateErrorData.java
similarity index 96%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateErrorData.java
rename to share/src/main/java/org/apache/kafka/server/share/PartitionStateErrorData.java
index 74cce273d1e..af238751392 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PartitionStateErrorData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PartitionStateErrorData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * This interface is implemented by classes used to contain the data for a partition with state and error data
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/Persister.java b/share/src/main/java/org/apache/kafka/server/share/Persister.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/Persister.java
rename to share/src/main/java/org/apache/kafka/server/share/Persister.java
index 5f4de38a9fb..2dc53e1c92c 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/Persister.java
+++ b/share/src/main/java/org/apache/kafka/server/share/Persister.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.annotation.InterfaceStability;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PersisterParameters.java b/share/src/main/java/org/apache/kafka/server/share/PersisterParameters.java
similarity index 95%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PersisterParameters.java
rename to share/src/main/java/org/apache/kafka/server/share/PersisterParameters.java
index b8e1bd0ebc5..f3c481570d2 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PersisterParameters.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PersisterParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * Marker interface for parameter classes related to the {@link Persister} result classes.
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PersisterResult.java b/share/src/main/java/org/apache/kafka/server/share/PersisterResult.java
similarity index 95%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PersisterResult.java
rename to share/src/main/java/org/apache/kafka/server/share/PersisterResult.java
index 7cb944e2ff0..94eb481d2ac 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PersisterResult.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PersisterResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 /**
  * Marker interface for result classes related to the {@link Persister} result classes.
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/PersisterStateBatch.java b/share/src/main/java/org/apache/kafka/server/share/PersisterStateBatch.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/PersisterStateBatch.java
rename to share/src/main/java/org/apache/kafka/server/share/PersisterStateBatch.java
index f6ff8fdcb38..5201d75545a 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/PersisterStateBatch.java
+++ b/share/src/main/java/org/apache/kafka/server/share/PersisterStateBatch.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.ReadShareGroupStateResponseData;
 import org.apache.kafka.common.message.WriteShareGroupStateRequestData;
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateParameters.java b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateParameters.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateParameters.java
rename to share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateParameters.java
index 1ba456a4be7..225de97de6a 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateParameters.java
+++ b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.ReadShareGroupStateRequestData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateResult.java b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateResult.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateResult.java
rename to share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateResult.java
index 092e5e3d37b..ce80d60d265 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateResult.java
+++ b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.ReadShareGroupStateResponseData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateSummaryParameters.java b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateSummaryParameters.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateSummaryParameters.java
rename to share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateSummaryParameters.java
index ca27ec9664b..728b176b77d 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateSummaryParameters.java
+++ b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateSummaryParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.ReadShareGroupStateSummaryRequestData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateSummaryResult.java b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateSummaryResult.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateSummaryResult.java
rename to share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateSummaryResult.java
index 62de812e5d5..4f56fe2cfab 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/ReadShareGroupStateSummaryResult.java
+++ b/share/src/main/java/org/apache/kafka/server/share/ReadShareGroupStateSummaryResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.ReadShareGroupStateSummaryResponseData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/SharePartitionKey.java b/share/src/main/java/org/apache/kafka/server/share/SharePartitionKey.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/SharePartitionKey.java
rename to share/src/main/java/org/apache/kafka/server/share/SharePartitionKey.java
index 27419dc89e0..6e56edbf3bb 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/SharePartitionKey.java
+++ b/share/src/main/java/org/apache/kafka/server/share/SharePartitionKey.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.TopicIdPartition;
 import org.apache.kafka.common.Uuid;
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/TopicData.java b/share/src/main/java/org/apache/kafka/server/share/TopicData.java
similarity index 97%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/TopicData.java
rename to share/src/main/java/org/apache/kafka/server/share/TopicData.java
index 321d2465f62..4d31d9f7265 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/TopicData.java
+++ b/share/src/main/java/org/apache/kafka/server/share/TopicData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.Uuid;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/WriteShareGroupStateParameters.java b/share/src/main/java/org/apache/kafka/server/share/WriteShareGroupStateParameters.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/WriteShareGroupStateParameters.java
rename to share/src/main/java/org/apache/kafka/server/share/WriteShareGroupStateParameters.java
index 7ba789d3084..7b4bbbbc770 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/WriteShareGroupStateParameters.java
+++ b/share/src/main/java/org/apache/kafka/server/share/WriteShareGroupStateParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.WriteShareGroupStateRequestData;
 
diff --git a/server-common/src/main/java/org/apache/kafka/server/group/share/WriteShareGroupStateResult.java b/share/src/main/java/org/apache/kafka/server/share/WriteShareGroupStateResult.java
similarity index 98%
rename from server-common/src/main/java/org/apache/kafka/server/group/share/WriteShareGroupStateResult.java
rename to share/src/main/java/org/apache/kafka/server/share/WriteShareGroupStateResult.java
index 0d925cb971b..b96ec217b6d 100644
--- a/server-common/src/main/java/org/apache/kafka/server/group/share/WriteShareGroupStateResult.java
+++ b/share/src/main/java/org/apache/kafka/server/share/WriteShareGroupStateResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.kafka.server.group.share;
+package org.apache.kafka.server.share;
 
 import org.apache.kafka.common.message.WriteShareGroupStateResponseData;