diff --git a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java
index 4f0a0c4e89050d9c3129c69654e45b3a4d3e4bce..93fbc54b1a4f276c19981164b0123caa7bf274b8 100644
--- a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java
+++ b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java
@@ -94,12 +94,19 @@ public class ConfigurationController extends AbstractController {
 
 	@Value("${question.parse-answer-option-formatting:false}")
 	private String parseAnswerOptionFormatting;
-
+	
+	@Value("${pp.subjects}")
+	private String ppSubjects;
+	
+	@Value("${pp.licenses}")
+	private String ppLicenses;
+	
 	@RequestMapping(method = RequestMethod.GET)
 	@ResponseBody
 	public final HashMap<String, Object> getConfiguration(HttpServletRequest request) {
 		HashMap<String, Object> config = new HashMap<String, Object>();
 		HashMap<String, Boolean> features = new HashMap<String, Boolean>();
+		HashMap<String, String> publicPool = new HashMap<String, String>();
 
 		/* The API path could be unknown to the client in case the request was forwarded */
 		config.put("apiPath", request.getContextPath());
@@ -144,6 +151,12 @@ public class ConfigurationController extends AbstractController {
 		features.put("studentsOwnQuestions", "true".equals(studentsOwnQuestions));
 		features.put("flashcard", "true".equals(flashcardEnabled));
 		features.put("gridSquare", "true".equals(gridSquareEnabled));
+		
+		// add public pool configuration
+		config.put("publicPool", publicPool);
+		
+		publicPool.put("subjects", ppSubjects);
+		publicPool.put("licenses", ppLicenses);
 
 		return config;
 	}
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 171c39d6ac53c17b4de04170a39e518009a7e59c..158a75d6e7c9683a408c3979ba3b903d17ad3388 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -337,8 +337,10 @@ public class CouchDBDao implements IDatabaseDao {
 	@Override
 	public final Session saveSession(final User user, final Session session) {
 		final Document sessionDocument = new Document();
-
-		sessionDocument.put("type", "session");
+		if (session.getPpAuthorName() != null)
+			sessionDocument.put("type", "session_public_pool");
+		else
+			sessionDocument.put("type", "session");
 		sessionDocument.put("name", session.getName());
 		sessionDocument.put("shortName", session.getShortName());
 		sessionDocument.put("keyword", sessionService.generateKeyword());
diff --git a/src/main/resources/arsnova.properties.example b/src/main/resources/arsnova.properties.example
index 0d5baa750ec10180b57cb470b6f7544664185509..5747ea0aaa7bca10c47a484e8ed0ece3b55cb0c6 100644
--- a/src/main/resources/arsnova.properties.example
+++ b/src/main/resources/arsnova.properties.example
@@ -199,3 +199,7 @@ links.overlay.url=https://arsnova.eu/overlay/
 links.organization.url=
 links.imprint.url=
 links.privacy-policy.url=
+
+# configuration for the public pool
+pp.subjects = Mathematik,Informatik,BWL
+pp.licenses = MIT,Apache License V2