diff --git a/LICENSE b/grpc-common/LICENSE
similarity index 100%
rename from LICENSE
rename to grpc-common/LICENSE
diff --git a/PATENTS b/grpc-common/PATENTS
similarity index 100%
rename from PATENTS
rename to grpc-common/PATENTS
diff --git a/PROTOCOL-HTTP2.md b/grpc-common/PROTOCOL-HTTP2.md
similarity index 100%
rename from PROTOCOL-HTTP2.md
rename to grpc-common/PROTOCOL-HTTP2.md
diff --git a/README.md b/grpc-common/README.md
similarity index 100%
rename from README.md
rename to grpc-common/README.md
diff --git a/cpp/README.md b/grpc-common/cpp/README.md
similarity index 100%
rename from cpp/README.md
rename to grpc-common/cpp/README.md
diff --git a/cpp/cpptutorial.md b/grpc-common/cpp/cpptutorial.md
similarity index 100%
rename from cpp/cpptutorial.md
rename to grpc-common/cpp/cpptutorial.md
diff --git a/cpp/helloworld/Makefile b/grpc-common/cpp/helloworld/Makefile
similarity index 100%
rename from cpp/helloworld/Makefile
rename to grpc-common/cpp/helloworld/Makefile
diff --git a/cpp/helloworld/README.md b/grpc-common/cpp/helloworld/README.md
similarity index 100%
rename from cpp/helloworld/README.md
rename to grpc-common/cpp/helloworld/README.md
diff --git a/cpp/helloworld/greeter_async_client.cc b/grpc-common/cpp/helloworld/greeter_async_client.cc
similarity index 100%
rename from cpp/helloworld/greeter_async_client.cc
rename to grpc-common/cpp/helloworld/greeter_async_client.cc
diff --git a/cpp/helloworld/greeter_async_server.cc b/grpc-common/cpp/helloworld/greeter_async_server.cc
similarity index 100%
rename from cpp/helloworld/greeter_async_server.cc
rename to grpc-common/cpp/helloworld/greeter_async_server.cc
diff --git a/cpp/helloworld/greeter_client.cc b/grpc-common/cpp/helloworld/greeter_client.cc
similarity index 100%
rename from cpp/helloworld/greeter_client.cc
rename to grpc-common/cpp/helloworld/greeter_client.cc
diff --git a/cpp/helloworld/greeter_server.cc b/grpc-common/cpp/helloworld/greeter_server.cc
similarity index 100%
rename from cpp/helloworld/greeter_server.cc
rename to grpc-common/cpp/helloworld/greeter_server.cc
diff --git a/cpp/route_guide/Makefile b/grpc-common/cpp/route_guide/Makefile
similarity index 100%
rename from cpp/route_guide/Makefile
rename to grpc-common/cpp/route_guide/Makefile
diff --git a/cpp/route_guide/helper.cc b/grpc-common/cpp/route_guide/helper.cc
similarity index 100%
rename from cpp/route_guide/helper.cc
rename to grpc-common/cpp/route_guide/helper.cc
diff --git a/cpp/route_guide/helper.h b/grpc-common/cpp/route_guide/helper.h
similarity index 100%
rename from cpp/route_guide/helper.h
rename to grpc-common/cpp/route_guide/helper.h
diff --git a/cpp/route_guide/route_guide_client.cc b/grpc-common/cpp/route_guide/route_guide_client.cc
similarity index 100%
rename from cpp/route_guide/route_guide_client.cc
rename to grpc-common/cpp/route_guide/route_guide_client.cc
diff --git a/cpp/route_guide/route_guide_db.json b/grpc-common/cpp/route_guide/route_guide_db.json
similarity index 100%
rename from cpp/route_guide/route_guide_db.json
rename to grpc-common/cpp/route_guide/route_guide_db.json
diff --git a/cpp/route_guide/route_guide_server.cc b/grpc-common/cpp/route_guide/route_guide_server.cc
similarity index 100%
rename from cpp/route_guide/route_guide_server.cc
rename to grpc-common/cpp/route_guide/route_guide_server.cc
diff --git a/csharp/.gitignore b/grpc-common/csharp/.gitignore
similarity index 100%
rename from csharp/.gitignore
rename to grpc-common/csharp/.gitignore
diff --git a/csharp/.nuget/packages.config b/grpc-common/csharp/.nuget/packages.config
similarity index 100%
rename from csharp/.nuget/packages.config
rename to grpc-common/csharp/.nuget/packages.config
diff --git a/csharp/Greeter.sln b/grpc-common/csharp/Greeter.sln
similarity index 100%
rename from csharp/Greeter.sln
rename to grpc-common/csharp/Greeter.sln
diff --git a/csharp/Greeter/.gitignore b/grpc-common/csharp/Greeter/.gitignore
similarity index 100%
rename from csharp/Greeter/.gitignore
rename to grpc-common/csharp/Greeter/.gitignore
diff --git a/csharp/Greeter/Greeter.csproj b/grpc-common/csharp/Greeter/Greeter.csproj
similarity index 100%
rename from csharp/Greeter/Greeter.csproj
rename to grpc-common/csharp/Greeter/Greeter.csproj
diff --git a/csharp/Greeter/Helloworld.cs b/grpc-common/csharp/Greeter/Helloworld.cs
similarity index 100%
rename from csharp/Greeter/Helloworld.cs
rename to grpc-common/csharp/Greeter/Helloworld.cs
diff --git a/csharp/Greeter/HelloworldGrpc.cs b/grpc-common/csharp/Greeter/HelloworldGrpc.cs
similarity index 100%
rename from csharp/Greeter/HelloworldGrpc.cs
rename to grpc-common/csharp/Greeter/HelloworldGrpc.cs
diff --git a/csharp/Greeter/Properties/AssemblyInfo.cs b/grpc-common/csharp/Greeter/Properties/AssemblyInfo.cs
similarity index 100%
rename from csharp/Greeter/Properties/AssemblyInfo.cs
rename to grpc-common/csharp/Greeter/Properties/AssemblyInfo.cs
diff --git a/csharp/Greeter/packages.config b/grpc-common/csharp/Greeter/packages.config
similarity index 100%
rename from csharp/Greeter/packages.config
rename to grpc-common/csharp/Greeter/packages.config
diff --git a/csharp/Greeter/protos/helloworld.proto b/grpc-common/csharp/Greeter/protos/helloworld.proto
similarity index 100%
rename from csharp/Greeter/protos/helloworld.proto
rename to grpc-common/csharp/Greeter/protos/helloworld.proto
diff --git a/csharp/GreeterClient/.gitignore b/grpc-common/csharp/GreeterClient/.gitignore
similarity index 100%
rename from csharp/GreeterClient/.gitignore
rename to grpc-common/csharp/GreeterClient/.gitignore
diff --git a/csharp/GreeterClient/GreeterClient.csproj b/grpc-common/csharp/GreeterClient/GreeterClient.csproj
similarity index 100%
rename from csharp/GreeterClient/GreeterClient.csproj
rename to grpc-common/csharp/GreeterClient/GreeterClient.csproj
diff --git a/csharp/GreeterClient/Program.cs b/grpc-common/csharp/GreeterClient/Program.cs
similarity index 100%
rename from csharp/GreeterClient/Program.cs
rename to grpc-common/csharp/GreeterClient/Program.cs
diff --git a/csharp/GreeterClient/Properties/AssemblyInfo.cs b/grpc-common/csharp/GreeterClient/Properties/AssemblyInfo.cs
similarity index 100%
rename from csharp/GreeterClient/Properties/AssemblyInfo.cs
rename to grpc-common/csharp/GreeterClient/Properties/AssemblyInfo.cs
diff --git a/csharp/GreeterClient/packages.config b/grpc-common/csharp/GreeterClient/packages.config
similarity index 100%
rename from csharp/GreeterClient/packages.config
rename to grpc-common/csharp/GreeterClient/packages.config
diff --git a/csharp/GreeterServer/.gitignore b/grpc-common/csharp/GreeterServer/.gitignore
similarity index 100%
rename from csharp/GreeterServer/.gitignore
rename to grpc-common/csharp/GreeterServer/.gitignore
diff --git a/csharp/GreeterServer/GreeterServer.csproj b/grpc-common/csharp/GreeterServer/GreeterServer.csproj
similarity index 100%
rename from csharp/GreeterServer/GreeterServer.csproj
rename to grpc-common/csharp/GreeterServer/GreeterServer.csproj
diff --git a/csharp/GreeterServer/Program.cs b/grpc-common/csharp/GreeterServer/Program.cs
similarity index 100%
rename from csharp/GreeterServer/Program.cs
rename to grpc-common/csharp/GreeterServer/Program.cs
diff --git a/csharp/GreeterServer/Properties/AssemblyInfo.cs b/grpc-common/csharp/GreeterServer/Properties/AssemblyInfo.cs
similarity index 100%
rename from csharp/GreeterServer/Properties/AssemblyInfo.cs
rename to grpc-common/csharp/GreeterServer/Properties/AssemblyInfo.cs
diff --git a/csharp/GreeterServer/packages.config b/grpc-common/csharp/GreeterServer/packages.config
similarity index 100%
rename from csharp/GreeterServer/packages.config
rename to grpc-common/csharp/GreeterServer/packages.config
diff --git a/csharp/README.md b/grpc-common/csharp/README.md
similarity index 100%
rename from csharp/README.md
rename to grpc-common/csharp/README.md
diff --git a/csharp/route_guide/.gitignore b/grpc-common/csharp/route_guide/.gitignore
similarity index 100%
rename from csharp/route_guide/.gitignore
rename to grpc-common/csharp/route_guide/.gitignore
diff --git a/csharp/route_guide/.nuget/packages.config b/grpc-common/csharp/route_guide/.nuget/packages.config
similarity index 100%
rename from csharp/route_guide/.nuget/packages.config
rename to grpc-common/csharp/route_guide/.nuget/packages.config
diff --git a/csharp/route_guide/README.md b/grpc-common/csharp/route_guide/README.md
similarity index 100%
rename from csharp/route_guide/README.md
rename to grpc-common/csharp/route_guide/README.md
diff --git a/csharp/route_guide/RouteGuide.sln b/grpc-common/csharp/route_guide/RouteGuide.sln
similarity index 100%
rename from csharp/route_guide/RouteGuide.sln
rename to grpc-common/csharp/route_guide/RouteGuide.sln
diff --git a/csharp/route_guide/RouteGuide/Properties/AssemblyInfo.cs b/grpc-common/csharp/route_guide/RouteGuide/Properties/AssemblyInfo.cs
similarity index 100%
rename from csharp/route_guide/RouteGuide/Properties/AssemblyInfo.cs
rename to grpc-common/csharp/route_guide/RouteGuide/Properties/AssemblyInfo.cs
diff --git a/csharp/route_guide/RouteGuide/RouteGuide.cs b/grpc-common/csharp/route_guide/RouteGuide/RouteGuide.cs
similarity index 100%
rename from csharp/route_guide/RouteGuide/RouteGuide.cs
rename to grpc-common/csharp/route_guide/RouteGuide/RouteGuide.cs
diff --git a/csharp/route_guide/RouteGuide/RouteGuide.csproj b/grpc-common/csharp/route_guide/RouteGuide/RouteGuide.csproj
similarity index 100%
rename from csharp/route_guide/RouteGuide/RouteGuide.csproj
rename to grpc-common/csharp/route_guide/RouteGuide/RouteGuide.csproj
diff --git a/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs b/grpc-common/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs
similarity index 100%
rename from csharp/route_guide/RouteGuide/RouteGuideGrpc.cs
rename to grpc-common/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs
diff --git a/csharp/route_guide/RouteGuide/RouteGuideUtil.cs b/grpc-common/csharp/route_guide/RouteGuide/RouteGuideUtil.cs
similarity index 100%
rename from csharp/route_guide/RouteGuide/RouteGuideUtil.cs
rename to grpc-common/csharp/route_guide/RouteGuide/RouteGuideUtil.cs
diff --git a/csharp/route_guide/RouteGuide/packages.config b/grpc-common/csharp/route_guide/RouteGuide/packages.config
similarity index 100%
rename from csharp/route_guide/RouteGuide/packages.config
rename to grpc-common/csharp/route_guide/RouteGuide/packages.config
diff --git a/csharp/route_guide/RouteGuide/protos/route_guide.proto b/grpc-common/csharp/route_guide/RouteGuide/protos/route_guide.proto
similarity index 100%
rename from csharp/route_guide/RouteGuide/protos/route_guide.proto
rename to grpc-common/csharp/route_guide/RouteGuide/protos/route_guide.proto
diff --git a/csharp/route_guide/RouteGuide/route_guide_db.json b/grpc-common/csharp/route_guide/RouteGuide/route_guide_db.json
similarity index 100%
rename from csharp/route_guide/RouteGuide/route_guide_db.json
rename to grpc-common/csharp/route_guide/RouteGuide/route_guide_db.json
diff --git a/csharp/route_guide/RouteGuideClient/App.config b/grpc-common/csharp/route_guide/RouteGuideClient/App.config
similarity index 100%
rename from csharp/route_guide/RouteGuideClient/App.config
rename to grpc-common/csharp/route_guide/RouteGuideClient/App.config
diff --git a/csharp/route_guide/RouteGuideClient/Program.cs b/grpc-common/csharp/route_guide/RouteGuideClient/Program.cs
similarity index 100%
rename from csharp/route_guide/RouteGuideClient/Program.cs
rename to grpc-common/csharp/route_guide/RouteGuideClient/Program.cs
diff --git a/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs b/grpc-common/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs
similarity index 100%
rename from csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs
rename to grpc-common/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs
diff --git a/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj b/grpc-common/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj
similarity index 100%
rename from csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj
rename to grpc-common/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj
diff --git a/csharp/route_guide/RouteGuideClient/packages.config b/grpc-common/csharp/route_guide/RouteGuideClient/packages.config
similarity index 100%
rename from csharp/route_guide/RouteGuideClient/packages.config
rename to grpc-common/csharp/route_guide/RouteGuideClient/packages.config
diff --git a/csharp/route_guide/RouteGuideServer/App.config b/grpc-common/csharp/route_guide/RouteGuideServer/App.config
similarity index 100%
rename from csharp/route_guide/RouteGuideServer/App.config
rename to grpc-common/csharp/route_guide/RouteGuideServer/App.config
diff --git a/csharp/route_guide/RouteGuideServer/Program.cs b/grpc-common/csharp/route_guide/RouteGuideServer/Program.cs
similarity index 100%
rename from csharp/route_guide/RouteGuideServer/Program.cs
rename to grpc-common/csharp/route_guide/RouteGuideServer/Program.cs
diff --git a/csharp/route_guide/RouteGuideServer/Properties/AssemblyInfo.cs b/grpc-common/csharp/route_guide/RouteGuideServer/Properties/AssemblyInfo.cs
similarity index 100%
rename from csharp/route_guide/RouteGuideServer/Properties/AssemblyInfo.cs
rename to grpc-common/csharp/route_guide/RouteGuideServer/Properties/AssemblyInfo.cs
diff --git a/csharp/route_guide/RouteGuideServer/RouteGuideImpl.cs b/grpc-common/csharp/route_guide/RouteGuideServer/RouteGuideImpl.cs
similarity index 100%
rename from csharp/route_guide/RouteGuideServer/RouteGuideImpl.cs
rename to grpc-common/csharp/route_guide/RouteGuideServer/RouteGuideImpl.cs
diff --git a/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj b/grpc-common/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj
similarity index 100%
rename from csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj
rename to grpc-common/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj
diff --git a/csharp/route_guide/RouteGuideServer/packages.config b/grpc-common/csharp/route_guide/RouteGuideServer/packages.config
similarity index 100%
rename from csharp/route_guide/RouteGuideServer/packages.config
rename to grpc-common/csharp/route_guide/RouteGuideServer/packages.config
diff --git a/go/README.md b/grpc-common/go/README.md
similarity index 100%
rename from go/README.md
rename to grpc-common/go/README.md
diff --git a/go/gotutorial.md b/grpc-common/go/gotutorial.md
similarity index 100%
rename from go/gotutorial.md
rename to grpc-common/go/gotutorial.md
diff --git a/go/greeter_client/main.go b/grpc-common/go/greeter_client/main.go
similarity index 100%
rename from go/greeter_client/main.go
rename to grpc-common/go/greeter_client/main.go
diff --git a/go/greeter_server/main.go b/grpc-common/go/greeter_server/main.go
similarity index 100%
rename from go/greeter_server/main.go
rename to grpc-common/go/greeter_server/main.go
diff --git a/go/helloworld/helloworld.pb.go b/grpc-common/go/helloworld/helloworld.pb.go
similarity index 100%
rename from go/helloworld/helloworld.pb.go
rename to grpc-common/go/helloworld/helloworld.pb.go
diff --git a/grpc-auth-support.md b/grpc-common/grpc-auth-support.md
similarity index 100%
rename from grpc-auth-support.md
rename to grpc-common/grpc-auth-support.md
diff --git a/java/android/.gitignore b/grpc-common/java/android/.gitignore
similarity index 100%
rename from java/android/.gitignore
rename to grpc-common/java/android/.gitignore
diff --git a/java/android/README.md b/grpc-common/java/android/README.md
similarity index 100%
rename from java/android/README.md
rename to grpc-common/java/android/README.md
diff --git a/java/android/app/.gitignore b/grpc-common/java/android/app/.gitignore
similarity index 100%
rename from java/android/app/.gitignore
rename to grpc-common/java/android/app/.gitignore
diff --git a/java/android/app/build.gradle b/grpc-common/java/android/app/build.gradle
similarity index 100%
rename from java/android/app/build.gradle
rename to grpc-common/java/android/app/build.gradle
diff --git a/java/android/app/proguard-rules.pro b/grpc-common/java/android/app/proguard-rules.pro
similarity index 100%
rename from java/android/app/proguard-rules.pro
rename to grpc-common/java/android/app/proguard-rules.pro
diff --git a/java/android/app/src/main/AndroidManifest.xml b/grpc-common/java/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from java/android/app/src/main/AndroidManifest.xml
rename to grpc-common/java/android/app/src/main/AndroidManifest.xml
diff --git a/java/android/app/src/main/java/io/grpc/helloworldexample/GreeterGrpc.java b/grpc-common/java/android/app/src/main/java/io/grpc/helloworldexample/GreeterGrpc.java
similarity index 100%
rename from java/android/app/src/main/java/io/grpc/helloworldexample/GreeterGrpc.java
rename to grpc-common/java/android/app/src/main/java/io/grpc/helloworldexample/GreeterGrpc.java
diff --git a/java/android/app/src/main/java/io/grpc/helloworldexample/Helloworld.java b/grpc-common/java/android/app/src/main/java/io/grpc/helloworldexample/Helloworld.java
similarity index 100%
rename from java/android/app/src/main/java/io/grpc/helloworldexample/Helloworld.java
rename to grpc-common/java/android/app/src/main/java/io/grpc/helloworldexample/Helloworld.java
diff --git a/java/android/app/src/main/java/io/grpc/helloworldexample/HelloworldActivity.java b/grpc-common/java/android/app/src/main/java/io/grpc/helloworldexample/HelloworldActivity.java
similarity index 100%
rename from java/android/app/src/main/java/io/grpc/helloworldexample/HelloworldActivity.java
rename to grpc-common/java/android/app/src/main/java/io/grpc/helloworldexample/HelloworldActivity.java
diff --git a/java/android/app/src/main/res/layout/activity_helloworld.xml b/grpc-common/java/android/app/src/main/res/layout/activity_helloworld.xml
similarity index 100%
rename from java/android/app/src/main/res/layout/activity_helloworld.xml
rename to grpc-common/java/android/app/src/main/res/layout/activity_helloworld.xml
diff --git a/java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/grpc-common/java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to grpc-common/java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/grpc-common/java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to grpc-common/java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/grpc-common/java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to grpc-common/java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/grpc-common/java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to grpc-common/java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/java/android/app/src/main/res/values/strings.xml b/grpc-common/java/android/app/src/main/res/values/strings.xml
similarity index 100%
rename from java/android/app/src/main/res/values/strings.xml
rename to grpc-common/java/android/app/src/main/res/values/strings.xml
diff --git a/java/android/build.gradle b/grpc-common/java/android/build.gradle
similarity index 100%
rename from java/android/build.gradle
rename to grpc-common/java/android/build.gradle
diff --git a/java/android/gradle/wrapper/gradle-wrapper.jar b/grpc-common/java/android/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from java/android/gradle/wrapper/gradle-wrapper.jar
rename to grpc-common/java/android/gradle/wrapper/gradle-wrapper.jar
diff --git a/java/android/gradle/wrapper/gradle-wrapper.properties b/grpc-common/java/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from java/android/gradle/wrapper/gradle-wrapper.properties
rename to grpc-common/java/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/java/android/gradlew b/grpc-common/java/android/gradlew
similarity index 100%
rename from java/android/gradlew
rename to grpc-common/java/android/gradlew
diff --git a/java/android/gradlew.bat b/grpc-common/java/android/gradlew.bat
similarity index 100%
rename from java/android/gradlew.bat
rename to grpc-common/java/android/gradlew.bat
diff --git a/java/android/settings.gradle b/grpc-common/java/android/settings.gradle
similarity index 100%
rename from java/android/settings.gradle
rename to grpc-common/java/android/settings.gradle
diff --git a/java/javatutorial.md b/grpc-common/java/javatutorial.md
similarity index 100%
rename from java/javatutorial.md
rename to grpc-common/java/javatutorial.md
diff --git a/node/.gitignore b/grpc-common/node/.gitignore
similarity index 100%
rename from node/.gitignore
rename to grpc-common/node/.gitignore
diff --git a/node/README.md b/grpc-common/node/README.md
similarity index 100%
rename from node/README.md
rename to grpc-common/node/README.md
diff --git a/node/greeter_client.js b/grpc-common/node/greeter_client.js
similarity index 100%
rename from node/greeter_client.js
rename to grpc-common/node/greeter_client.js
diff --git a/node/greeter_server.js b/grpc-common/node/greeter_server.js
similarity index 100%
rename from node/greeter_server.js
rename to grpc-common/node/greeter_server.js
diff --git a/node/helloworld.proto b/grpc-common/node/helloworld.proto
similarity index 100%
rename from node/helloworld.proto
rename to grpc-common/node/helloworld.proto
diff --git a/node/package.json b/grpc-common/node/package.json
similarity index 100%
rename from node/package.json
rename to grpc-common/node/package.json
diff --git a/node/route_guide/README.md b/grpc-common/node/route_guide/README.md
similarity index 100%
rename from node/route_guide/README.md
rename to grpc-common/node/route_guide/README.md
diff --git a/node/route_guide/route_guide.proto b/grpc-common/node/route_guide/route_guide.proto
similarity index 100%
rename from node/route_guide/route_guide.proto
rename to grpc-common/node/route_guide/route_guide.proto
diff --git a/node/route_guide/route_guide_client.js b/grpc-common/node/route_guide/route_guide_client.js
similarity index 100%
rename from node/route_guide/route_guide_client.js
rename to grpc-common/node/route_guide/route_guide_client.js
diff --git a/node/route_guide/route_guide_db.json b/grpc-common/node/route_guide/route_guide_db.json
similarity index 100%
rename from node/route_guide/route_guide_db.json
rename to grpc-common/node/route_guide/route_guide_db.json
diff --git a/node/route_guide/route_guide_server.js b/grpc-common/node/route_guide/route_guide_server.js
similarity index 100%
rename from node/route_guide/route_guide_server.js
rename to grpc-common/node/route_guide/route_guide_server.js
diff --git a/objective-c/auth_sample/AuthSample.xcodeproj/project.pbxproj b/grpc-common/objective-c/auth_sample/AuthSample.xcodeproj/project.pbxproj
similarity index 100%
rename from objective-c/auth_sample/AuthSample.xcodeproj/project.pbxproj
rename to grpc-common/objective-c/auth_sample/AuthSample.xcodeproj/project.pbxproj
diff --git a/objective-c/auth_sample/AuthSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/grpc-common/objective-c/auth_sample/AuthSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from objective-c/auth_sample/AuthSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to grpc-common/objective-c/auth_sample/AuthSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/objective-c/auth_sample/AuthTestService.podspec b/grpc-common/objective-c/auth_sample/AuthTestService.podspec
similarity index 100%
rename from objective-c/auth_sample/AuthTestService.podspec
rename to grpc-common/objective-c/auth_sample/AuthTestService.podspec
diff --git a/objective-c/auth_sample/MakeRPCViewController.h b/grpc-common/objective-c/auth_sample/MakeRPCViewController.h
similarity index 100%
rename from objective-c/auth_sample/MakeRPCViewController.h
rename to grpc-common/objective-c/auth_sample/MakeRPCViewController.h
diff --git a/objective-c/auth_sample/MakeRPCViewController.m b/grpc-common/objective-c/auth_sample/MakeRPCViewController.m
similarity index 100%
rename from objective-c/auth_sample/MakeRPCViewController.m
rename to grpc-common/objective-c/auth_sample/MakeRPCViewController.m
diff --git a/objective-c/auth_sample/Misc/AppDelegate.h b/grpc-common/objective-c/auth_sample/Misc/AppDelegate.h
similarity index 100%
rename from objective-c/auth_sample/Misc/AppDelegate.h
rename to grpc-common/objective-c/auth_sample/Misc/AppDelegate.h
diff --git a/objective-c/auth_sample/Misc/AppDelegate.m b/grpc-common/objective-c/auth_sample/Misc/AppDelegate.m
similarity index 100%
rename from objective-c/auth_sample/Misc/AppDelegate.m
rename to grpc-common/objective-c/auth_sample/Misc/AppDelegate.m
diff --git a/objective-c/auth_sample/Misc/Base.lproj/Main.storyboard b/grpc-common/objective-c/auth_sample/Misc/Base.lproj/Main.storyboard
similarity index 100%
rename from objective-c/auth_sample/Misc/Base.lproj/Main.storyboard
rename to grpc-common/objective-c/auth_sample/Misc/Base.lproj/Main.storyboard
diff --git a/objective-c/auth_sample/Misc/GoogleService-Info.plist b/grpc-common/objective-c/auth_sample/Misc/GoogleService-Info.plist
similarity index 100%
rename from objective-c/auth_sample/Misc/GoogleService-Info.plist
rename to grpc-common/objective-c/auth_sample/Misc/GoogleService-Info.plist
diff --git a/objective-c/auth_sample/Misc/Images.xcassets/AppIcon.appiconset/Contents.json b/grpc-common/objective-c/auth_sample/Misc/Images.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from objective-c/auth_sample/Misc/Images.xcassets/AppIcon.appiconset/Contents.json
rename to grpc-common/objective-c/auth_sample/Misc/Images.xcassets/AppIcon.appiconset/Contents.json
diff --git a/objective-c/auth_sample/Misc/Images.xcassets/first.imageset/Contents.json b/grpc-common/objective-c/auth_sample/Misc/Images.xcassets/first.imageset/Contents.json
similarity index 100%
rename from objective-c/auth_sample/Misc/Images.xcassets/first.imageset/Contents.json
rename to grpc-common/objective-c/auth_sample/Misc/Images.xcassets/first.imageset/Contents.json
diff --git a/objective-c/auth_sample/Misc/Images.xcassets/first.imageset/first.pdf b/grpc-common/objective-c/auth_sample/Misc/Images.xcassets/first.imageset/first.pdf
similarity index 100%
rename from objective-c/auth_sample/Misc/Images.xcassets/first.imageset/first.pdf
rename to grpc-common/objective-c/auth_sample/Misc/Images.xcassets/first.imageset/first.pdf
diff --git a/objective-c/auth_sample/Misc/Images.xcassets/second.imageset/Contents.json b/grpc-common/objective-c/auth_sample/Misc/Images.xcassets/second.imageset/Contents.json
similarity index 100%
rename from objective-c/auth_sample/Misc/Images.xcassets/second.imageset/Contents.json
rename to grpc-common/objective-c/auth_sample/Misc/Images.xcassets/second.imageset/Contents.json
diff --git a/objective-c/auth_sample/Misc/Images.xcassets/second.imageset/second.pdf b/grpc-common/objective-c/auth_sample/Misc/Images.xcassets/second.imageset/second.pdf
similarity index 100%
rename from objective-c/auth_sample/Misc/Images.xcassets/second.imageset/second.pdf
rename to grpc-common/objective-c/auth_sample/Misc/Images.xcassets/second.imageset/second.pdf
diff --git a/objective-c/auth_sample/Misc/Info.plist b/grpc-common/objective-c/auth_sample/Misc/Info.plist
similarity index 100%
rename from objective-c/auth_sample/Misc/Info.plist
rename to grpc-common/objective-c/auth_sample/Misc/Info.plist
diff --git a/objective-c/auth_sample/Misc/main.m b/grpc-common/objective-c/auth_sample/Misc/main.m
similarity index 100%
rename from objective-c/auth_sample/Misc/main.m
rename to grpc-common/objective-c/auth_sample/Misc/main.m
diff --git a/objective-c/auth_sample/Podfile b/grpc-common/objective-c/auth_sample/Podfile
similarity index 100%
rename from objective-c/auth_sample/Podfile
rename to grpc-common/objective-c/auth_sample/Podfile
diff --git a/objective-c/auth_sample/README.md b/grpc-common/objective-c/auth_sample/README.md
similarity index 100%
rename from objective-c/auth_sample/README.md
rename to grpc-common/objective-c/auth_sample/README.md
diff --git a/objective-c/auth_sample/SelectUserViewController.h b/grpc-common/objective-c/auth_sample/SelectUserViewController.h
similarity index 100%
rename from objective-c/auth_sample/SelectUserViewController.h
rename to grpc-common/objective-c/auth_sample/SelectUserViewController.h
diff --git a/objective-c/auth_sample/SelectUserViewController.m b/grpc-common/objective-c/auth_sample/SelectUserViewController.m
similarity index 100%
rename from objective-c/auth_sample/SelectUserViewController.m
rename to grpc-common/objective-c/auth_sample/SelectUserViewController.m
diff --git a/objective-c/helloworld/HelloWorld.podspec b/grpc-common/objective-c/helloworld/HelloWorld.podspec
similarity index 100%
rename from objective-c/helloworld/HelloWorld.podspec
rename to grpc-common/objective-c/helloworld/HelloWorld.podspec
diff --git a/objective-c/helloworld/HelloWorld.xcodeproj/project.pbxproj b/grpc-common/objective-c/helloworld/HelloWorld.xcodeproj/project.pbxproj
similarity index 100%
rename from objective-c/helloworld/HelloWorld.xcodeproj/project.pbxproj
rename to grpc-common/objective-c/helloworld/HelloWorld.xcodeproj/project.pbxproj
diff --git a/objective-c/helloworld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/grpc-common/objective-c/helloworld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from objective-c/helloworld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to grpc-common/objective-c/helloworld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/objective-c/helloworld/HelloWorld/AppDelegate.h b/grpc-common/objective-c/helloworld/HelloWorld/AppDelegate.h
similarity index 100%
rename from objective-c/helloworld/HelloWorld/AppDelegate.h
rename to grpc-common/objective-c/helloworld/HelloWorld/AppDelegate.h
diff --git a/objective-c/helloworld/HelloWorld/AppDelegate.m b/grpc-common/objective-c/helloworld/HelloWorld/AppDelegate.m
similarity index 100%
rename from objective-c/helloworld/HelloWorld/AppDelegate.m
rename to grpc-common/objective-c/helloworld/HelloWorld/AppDelegate.m
diff --git a/objective-c/helloworld/HelloWorld/Base.lproj/Main.storyboard b/grpc-common/objective-c/helloworld/HelloWorld/Base.lproj/Main.storyboard
similarity index 100%
rename from objective-c/helloworld/HelloWorld/Base.lproj/Main.storyboard
rename to grpc-common/objective-c/helloworld/HelloWorld/Base.lproj/Main.storyboard
diff --git a/objective-c/helloworld/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json b/grpc-common/objective-c/helloworld/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from objective-c/helloworld/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json
rename to grpc-common/objective-c/helloworld/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json
diff --git a/objective-c/helloworld/HelloWorld/Info.plist b/grpc-common/objective-c/helloworld/HelloWorld/Info.plist
similarity index 100%
rename from objective-c/helloworld/HelloWorld/Info.plist
rename to grpc-common/objective-c/helloworld/HelloWorld/Info.plist
diff --git a/objective-c/helloworld/HelloWorld/ViewController.m b/grpc-common/objective-c/helloworld/HelloWorld/ViewController.m
similarity index 100%
rename from objective-c/helloworld/HelloWorld/ViewController.m
rename to grpc-common/objective-c/helloworld/HelloWorld/ViewController.m
diff --git a/objective-c/helloworld/Podfile b/grpc-common/objective-c/helloworld/Podfile
similarity index 100%
rename from objective-c/helloworld/Podfile
rename to grpc-common/objective-c/helloworld/Podfile
diff --git a/objective-c/helloworld/README.md b/grpc-common/objective-c/helloworld/README.md
similarity index 100%
rename from objective-c/helloworld/README.md
rename to grpc-common/objective-c/helloworld/README.md
diff --git a/objective-c/helloworld/main.m b/grpc-common/objective-c/helloworld/main.m
similarity index 100%
rename from objective-c/helloworld/main.m
rename to grpc-common/objective-c/helloworld/main.m
diff --git a/objective-c/route_guide/Misc/AppDelegate.h b/grpc-common/objective-c/route_guide/Misc/AppDelegate.h
similarity index 100%
rename from objective-c/route_guide/Misc/AppDelegate.h
rename to grpc-common/objective-c/route_guide/Misc/AppDelegate.h
diff --git a/objective-c/route_guide/Misc/AppDelegate.m b/grpc-common/objective-c/route_guide/Misc/AppDelegate.m
similarity index 100%
rename from objective-c/route_guide/Misc/AppDelegate.m
rename to grpc-common/objective-c/route_guide/Misc/AppDelegate.m
diff --git a/objective-c/route_guide/Misc/Base.lproj/Main.storyboard b/grpc-common/objective-c/route_guide/Misc/Base.lproj/Main.storyboard
similarity index 100%
rename from objective-c/route_guide/Misc/Base.lproj/Main.storyboard
rename to grpc-common/objective-c/route_guide/Misc/Base.lproj/Main.storyboard
diff --git a/objective-c/route_guide/Misc/Images.xcassets/AppIcon.appiconset/Contents.json b/grpc-common/objective-c/route_guide/Misc/Images.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from objective-c/route_guide/Misc/Images.xcassets/AppIcon.appiconset/Contents.json
rename to grpc-common/objective-c/route_guide/Misc/Images.xcassets/AppIcon.appiconset/Contents.json
diff --git a/objective-c/route_guide/Misc/Images.xcassets/first.imageset/Contents.json b/grpc-common/objective-c/route_guide/Misc/Images.xcassets/first.imageset/Contents.json
similarity index 100%
rename from objective-c/route_guide/Misc/Images.xcassets/first.imageset/Contents.json
rename to grpc-common/objective-c/route_guide/Misc/Images.xcassets/first.imageset/Contents.json
diff --git a/objective-c/route_guide/Misc/Images.xcassets/first.imageset/first.pdf b/grpc-common/objective-c/route_guide/Misc/Images.xcassets/first.imageset/first.pdf
similarity index 100%
rename from objective-c/route_guide/Misc/Images.xcassets/first.imageset/first.pdf
rename to grpc-common/objective-c/route_guide/Misc/Images.xcassets/first.imageset/first.pdf
diff --git a/objective-c/route_guide/Misc/Images.xcassets/second.imageset/Contents.json b/grpc-common/objective-c/route_guide/Misc/Images.xcassets/second.imageset/Contents.json
similarity index 100%
rename from objective-c/route_guide/Misc/Images.xcassets/second.imageset/Contents.json
rename to grpc-common/objective-c/route_guide/Misc/Images.xcassets/second.imageset/Contents.json
diff --git a/objective-c/route_guide/Misc/Images.xcassets/second.imageset/second.pdf b/grpc-common/objective-c/route_guide/Misc/Images.xcassets/second.imageset/second.pdf
similarity index 100%
rename from objective-c/route_guide/Misc/Images.xcassets/second.imageset/second.pdf
rename to grpc-common/objective-c/route_guide/Misc/Images.xcassets/second.imageset/second.pdf
diff --git a/objective-c/route_guide/Misc/Info.plist b/grpc-common/objective-c/route_guide/Misc/Info.plist
similarity index 100%
rename from objective-c/route_guide/Misc/Info.plist
rename to grpc-common/objective-c/route_guide/Misc/Info.plist
diff --git a/objective-c/route_guide/Misc/main.m b/grpc-common/objective-c/route_guide/Misc/main.m
similarity index 100%
rename from objective-c/route_guide/Misc/main.m
rename to grpc-common/objective-c/route_guide/Misc/main.m
diff --git a/objective-c/route_guide/Podfile b/grpc-common/objective-c/route_guide/Podfile
similarity index 100%
rename from objective-c/route_guide/Podfile
rename to grpc-common/objective-c/route_guide/Podfile
diff --git a/objective-c/route_guide/README.md b/grpc-common/objective-c/route_guide/README.md
similarity index 100%
rename from objective-c/route_guide/README.md
rename to grpc-common/objective-c/route_guide/README.md
diff --git a/objective-c/route_guide/RouteGuide.podspec b/grpc-common/objective-c/route_guide/RouteGuide.podspec
similarity index 100%
rename from objective-c/route_guide/RouteGuide.podspec
rename to grpc-common/objective-c/route_guide/RouteGuide.podspec
diff --git a/objective-c/route_guide/RouteGuideClient.xcodeproj/project.pbxproj b/grpc-common/objective-c/route_guide/RouteGuideClient.xcodeproj/project.pbxproj
similarity index 100%
rename from objective-c/route_guide/RouteGuideClient.xcodeproj/project.pbxproj
rename to grpc-common/objective-c/route_guide/RouteGuideClient.xcodeproj/project.pbxproj
diff --git a/objective-c/route_guide/RouteGuideClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/grpc-common/objective-c/route_guide/RouteGuideClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from objective-c/route_guide/RouteGuideClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to grpc-common/objective-c/route_guide/RouteGuideClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/objective-c/route_guide/ViewControllers.m b/grpc-common/objective-c/route_guide/ViewControllers.m
similarity index 100%
rename from objective-c/route_guide/ViewControllers.m
rename to grpc-common/objective-c/route_guide/ViewControllers.m
diff --git a/objective-c/route_guide/route_guide_db.json b/grpc-common/objective-c/route_guide/route_guide_db.json
similarity index 100%
rename from objective-c/route_guide/route_guide_db.json
rename to grpc-common/objective-c/route_guide/route_guide_db.json
diff --git a/php/.gitignore b/grpc-common/php/.gitignore
similarity index 100%
rename from php/.gitignore
rename to grpc-common/php/.gitignore
diff --git a/php/README.md b/grpc-common/php/README.md
similarity index 100%
rename from php/README.md
rename to grpc-common/php/README.md
diff --git a/php/composer.json b/grpc-common/php/composer.json
similarity index 100%
rename from php/composer.json
rename to grpc-common/php/composer.json
diff --git a/php/greeter_client.php b/grpc-common/php/greeter_client.php
similarity index 100%
rename from php/greeter_client.php
rename to grpc-common/php/greeter_client.php
diff --git a/php/helloworld.php b/grpc-common/php/helloworld.php
similarity index 100%
rename from php/helloworld.php
rename to grpc-common/php/helloworld.php
diff --git a/php/helloworld.proto b/grpc-common/php/helloworld.proto
similarity index 100%
rename from php/helloworld.proto
rename to grpc-common/php/helloworld.proto
diff --git a/php/route_guide/README.md b/grpc-common/php/route_guide/README.md
similarity index 100%
rename from php/route_guide/README.md
rename to grpc-common/php/route_guide/README.md
diff --git a/php/route_guide/route_guide.php b/grpc-common/php/route_guide/route_guide.php
similarity index 100%
rename from php/route_guide/route_guide.php
rename to grpc-common/php/route_guide/route_guide.php
diff --git a/php/route_guide/route_guide.proto b/grpc-common/php/route_guide/route_guide.proto
similarity index 100%
rename from php/route_guide/route_guide.proto
rename to grpc-common/php/route_guide/route_guide.proto
diff --git a/php/route_guide/route_guide_client.php b/grpc-common/php/route_guide/route_guide_client.php
similarity index 100%
rename from php/route_guide/route_guide_client.php
rename to grpc-common/php/route_guide/route_guide_client.php
diff --git a/php/route_guide/run_route_guide_client.sh b/grpc-common/php/route_guide/run_route_guide_client.sh
similarity index 100%
rename from php/route_guide/run_route_guide_client.sh
rename to grpc-common/php/route_guide/run_route_guide_client.sh
diff --git a/php/run_greeter_client.sh b/grpc-common/php/run_greeter_client.sh
similarity index 100%
rename from php/run_greeter_client.sh
rename to grpc-common/php/run_greeter_client.sh
diff --git a/protos/README.md b/grpc-common/protos/README.md
similarity index 100%
rename from protos/README.md
rename to grpc-common/protos/README.md
diff --git a/protos/auth_sample.proto b/grpc-common/protos/auth_sample.proto
similarity index 100%
rename from protos/auth_sample.proto
rename to grpc-common/protos/auth_sample.proto
diff --git a/protos/hellostreamingworld.proto b/grpc-common/protos/hellostreamingworld.proto
similarity index 100%
rename from protos/hellostreamingworld.proto
rename to grpc-common/protos/hellostreamingworld.proto
diff --git a/protos/helloworld.proto b/grpc-common/protos/helloworld.proto
similarity index 100%
rename from protos/helloworld.proto
rename to grpc-common/protos/helloworld.proto
diff --git a/protos/route_guide.proto b/grpc-common/protos/route_guide.proto
similarity index 100%
rename from protos/route_guide.proto
rename to grpc-common/protos/route_guide.proto
diff --git a/python/helloworld/.gitignore b/grpc-common/python/helloworld/.gitignore
similarity index 100%
rename from python/helloworld/.gitignore
rename to grpc-common/python/helloworld/.gitignore
diff --git a/python/helloworld/README.md b/grpc-common/python/helloworld/README.md
similarity index 100%
rename from python/helloworld/README.md
rename to grpc-common/python/helloworld/README.md
diff --git a/python/helloworld/greeter_client.py b/grpc-common/python/helloworld/greeter_client.py
similarity index 100%
rename from python/helloworld/greeter_client.py
rename to grpc-common/python/helloworld/greeter_client.py
diff --git a/python/helloworld/greeter_server.py b/grpc-common/python/helloworld/greeter_server.py
similarity index 100%
rename from python/helloworld/greeter_server.py
rename to grpc-common/python/helloworld/greeter_server.py
diff --git a/python/helloworld/run_client.sh b/grpc-common/python/helloworld/run_client.sh
similarity index 100%
rename from python/helloworld/run_client.sh
rename to grpc-common/python/helloworld/run_client.sh
diff --git a/python/helloworld/run_codegen.sh b/grpc-common/python/helloworld/run_codegen.sh
similarity index 100%
rename from python/helloworld/run_codegen.sh
rename to grpc-common/python/helloworld/run_codegen.sh
diff --git a/python/helloworld/run_server.sh b/grpc-common/python/helloworld/run_server.sh
similarity index 100%
rename from python/helloworld/run_server.sh
rename to grpc-common/python/helloworld/run_server.sh
diff --git a/python/route_guide/.gitignore b/grpc-common/python/route_guide/.gitignore
similarity index 100%
rename from python/route_guide/.gitignore
rename to grpc-common/python/route_guide/.gitignore
diff --git a/python/route_guide/README.md b/grpc-common/python/route_guide/README.md
similarity index 100%
rename from python/route_guide/README.md
rename to grpc-common/python/route_guide/README.md
diff --git a/python/route_guide/route_guide_client.py b/grpc-common/python/route_guide/route_guide_client.py
similarity index 100%
rename from python/route_guide/route_guide_client.py
rename to grpc-common/python/route_guide/route_guide_client.py
diff --git a/python/route_guide/route_guide_db.json b/grpc-common/python/route_guide/route_guide_db.json
similarity index 100%
rename from python/route_guide/route_guide_db.json
rename to grpc-common/python/route_guide/route_guide_db.json
diff --git a/python/route_guide/route_guide_pb2.py b/grpc-common/python/route_guide/route_guide_pb2.py
similarity index 100%
rename from python/route_guide/route_guide_pb2.py
rename to grpc-common/python/route_guide/route_guide_pb2.py
diff --git a/python/route_guide/route_guide_resources.py b/grpc-common/python/route_guide/route_guide_resources.py
similarity index 100%
rename from python/route_guide/route_guide_resources.py
rename to grpc-common/python/route_guide/route_guide_resources.py
diff --git a/python/route_guide/route_guide_server.py b/grpc-common/python/route_guide/route_guide_server.py
similarity index 100%
rename from python/route_guide/route_guide_server.py
rename to grpc-common/python/route_guide/route_guide_server.py
diff --git a/python/route_guide/run_client.sh b/grpc-common/python/route_guide/run_client.sh
similarity index 100%
rename from python/route_guide/run_client.sh
rename to grpc-common/python/route_guide/run_client.sh
diff --git a/python/route_guide/run_codegen.sh b/grpc-common/python/route_guide/run_codegen.sh
similarity index 100%
rename from python/route_guide/run_codegen.sh
rename to grpc-common/python/route_guide/run_codegen.sh
diff --git a/python/route_guide/run_server.sh b/grpc-common/python/route_guide/run_server.sh
similarity index 100%
rename from python/route_guide/run_server.sh
rename to grpc-common/python/route_guide/run_server.sh
diff --git a/ruby/.gitignore b/grpc-common/ruby/.gitignore
similarity index 100%
rename from ruby/.gitignore
rename to grpc-common/ruby/.gitignore
diff --git a/ruby/Gemfile b/grpc-common/ruby/Gemfile
similarity index 100%
rename from ruby/Gemfile
rename to grpc-common/ruby/Gemfile
diff --git a/ruby/README.md b/grpc-common/ruby/README.md
similarity index 100%
rename from ruby/README.md
rename to grpc-common/ruby/README.md
diff --git a/ruby/greeter_client.rb b/grpc-common/ruby/greeter_client.rb
similarity index 100%
rename from ruby/greeter_client.rb
rename to grpc-common/ruby/greeter_client.rb
diff --git a/ruby/greeter_server.rb b/grpc-common/ruby/greeter_server.rb
similarity index 100%
rename from ruby/greeter_server.rb
rename to grpc-common/ruby/greeter_server.rb
diff --git a/ruby/grpc-demo.gemspec b/grpc-common/ruby/grpc-demo.gemspec
similarity index 100%
rename from ruby/grpc-demo.gemspec
rename to grpc-common/ruby/grpc-demo.gemspec
diff --git a/ruby/lib/helloworld.rb b/grpc-common/ruby/lib/helloworld.rb
similarity index 100%
rename from ruby/lib/helloworld.rb
rename to grpc-common/ruby/lib/helloworld.rb
diff --git a/ruby/lib/helloworld_services.rb b/grpc-common/ruby/lib/helloworld_services.rb
similarity index 100%
rename from ruby/lib/helloworld_services.rb
rename to grpc-common/ruby/lib/helloworld_services.rb
diff --git a/ruby/lib/route_guide.rb b/grpc-common/ruby/lib/route_guide.rb
similarity index 100%
rename from ruby/lib/route_guide.rb
rename to grpc-common/ruby/lib/route_guide.rb
diff --git a/ruby/lib/route_guide_services.rb b/grpc-common/ruby/lib/route_guide_services.rb
similarity index 100%
rename from ruby/lib/route_guide_services.rb
rename to grpc-common/ruby/lib/route_guide_services.rb
diff --git a/ruby/route_guide/README.md b/grpc-common/ruby/route_guide/README.md
similarity index 100%
rename from ruby/route_guide/README.md
rename to grpc-common/ruby/route_guide/README.md
diff --git a/ruby/route_guide/route_guide_client.rb b/grpc-common/ruby/route_guide/route_guide_client.rb
similarity index 100%
rename from ruby/route_guide/route_guide_client.rb
rename to grpc-common/ruby/route_guide/route_guide_client.rb
diff --git a/ruby/route_guide/route_guide_server.rb b/grpc-common/ruby/route_guide/route_guide_server.rb
similarity index 100%
rename from ruby/route_guide/route_guide_server.rb
rename to grpc-common/ruby/route_guide/route_guide_server.rb