diff --git a/src/main/java/net/onrc/onos/apps/forwarding/IForwardingService.java b/src/main/java/net/onrc/onos/apps/forwarding/IForwardingService.java
index 6968999..e8a8d7a 100644
--- a/src/main/java/net/onrc/onos/apps/forwarding/IForwardingService.java
+++ b/src/main/java/net/onrc/onos/apps/forwarding/IForwardingService.java
@@ -10,8 +10,6 @@
  * notified when a flow has been installed.
  * <p/>
  * This should be refactored to a listener framework in the future.
- *
- * @author jono
  */
 public interface IForwardingService extends IFloodlightService {
     /**
diff --git a/src/main/java/net/onrc/onos/core/datagrid/web/IntentResource.java b/src/main/java/net/onrc/onos/core/datagrid/web/IntentResource.java
index bdb6634..1dc05a2 100644
--- a/src/main/java/net/onrc/onos/core/datagrid/web/IntentResource.java
+++ b/src/main/java/net/onrc/onos/core/datagrid/web/IntentResource.java
@@ -31,7 +31,7 @@
 import org.slf4j.LoggerFactory;
 
 /**
- * @author nickkaranatsios
+ * old REST API implementation for the Intents.
  */
 public class IntentResource extends ServerResource {
     private static final Logger log = LoggerFactory.getLogger(IntentResource.class);
diff --git a/src/main/java/net/onrc/onos/core/devicemanager/IOnosDeviceService.java b/src/main/java/net/onrc/onos/core/devicemanager/IOnosDeviceService.java
index e0ab4f6..ee38c6a 100644
--- a/src/main/java/net/onrc/onos/core/devicemanager/IOnosDeviceService.java
+++ b/src/main/java/net/onrc/onos/core/devicemanager/IOnosDeviceService.java
@@ -7,8 +7,6 @@
  * {@link OnosDeviceManager} doesn't yet provide any API to fellow modules,
  * however making it export a dummy service means we can specify it as
  * a dependency of Forwarding.
- *
- * @author jono
  */
 public interface IOnosDeviceService extends IFloodlightService {
 
diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowProgrammer.java b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowProgrammer.java
index 8a3739d..b5912d5 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowProgrammer.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowProgrammer.java
@@ -29,8 +29,6 @@
  * immediately kicks synchronization to keep switch's flow table latest state.
  * Adversely, when a switch is removed from network, FlowProgrammer immediately
  * stops synchronization.
- *
- * @author Brian
  */
 public class FlowProgrammer implements IFloodlightModule,
         IOFSwitchListener {
diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java
index a3ee412..bd41a95 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java
@@ -81,8 +81,6 @@
  * Each processing thread reads messages from queues and sends it to switches
  * in round-robin. Processing thread also calculates rate of sending to suppress
  * excessive message sending.
- *
- * @author Naoki Shiota
  */
 public final class FlowPusher implements IFlowPusherService, IOFMessageListener {
     private static final Logger log = LoggerFactory.getLogger(FlowPusher.class);
@@ -112,8 +110,6 @@
     /**
      * SwitchQueue represents message queue attached to a switch.
      * This consists of queue itself and variables used for limiting sending rate.
-     *
-     * @author Naoki Shiota
      */
     private static class SwitchQueue {
         List<Queue<SwitchQueueEntry>> rawQueues;
@@ -238,8 +234,6 @@
 
     /**
      * BarrierInfo holds information to specify barrier message sent to switch.
-     *
-     * @author Naoki
      */
     private static final class BarrierInfo {
         final long dpid;
@@ -303,8 +297,6 @@
 
     /**
      * Main thread that reads messages from queues and sends them to switches.
-     *
-     * @author Naoki Shiota
      */
     private class FlowPusherThread extends Thread {
         private Map<IOFSwitch, SwitchQueue> assignedQueues
diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowSynchronizer.java b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowSynchronizer.java
index 7ec93f6..b0de5bf 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowSynchronizer.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowSynchronizer.java
@@ -32,8 +32,6 @@
  * In addition to IFlowSyncService, FlowSynchronizer periodically reads flow
  * tables from switches and compare them with GraphDB to drop unnecessary
  * flows and/or to install missing flows.
- *
- * @author Brian
  */
 public class FlowSynchronizer implements IFlowSyncService {
 
@@ -78,8 +76,6 @@
 
     /**
      * Synchronizer represents main thread of synchronization.
-     *
-     * @author Brian
      */
     protected class Synchronizer implements Callable<SyncResult> {
         IOFSwitch sw;
@@ -254,8 +250,6 @@
     /**
      * FlowEntryWrapper represents abstract FlowEntry which is embodied
      * by FlowEntryId (from GraphDB) or OFFlowStatisticsReply (from switch).
-     *
-     * @author Brian
      */
     class FlowEntryWrapper {
         FlowEntryId flowEntryId;
diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java b/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java
index c1b0c41..37911a8 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java
@@ -17,8 +17,6 @@
  * read a message from queue and send it to switch in order.
  * To guarantee message has been installed, FlowPusherService can add barrier
  * message to queue and can notify when barrier message is sent to switch.
- *
- * @author Naoki Shiota
  */
 public interface IFlowPusherService extends IFloodlightService {
     public static enum MsgPriority {
diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowSyncService.java b/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowSyncService.java
index f2d5989..0fd4524 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowSyncService.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowSyncService.java
@@ -8,8 +8,6 @@
 /**
  * FlowSyncService is a service to synchronize GraphDB and switch's flow table.
  * FlowSyncService offers APIs to trigger and interrupt synchronization explicitly.
- *
- * @author Brian
  */
 public interface IFlowSyncService extends IFloodlightService {
     public Future<SyncResult> synchronize(IOFSwitch sw);
diff --git a/src/main/java/net/onrc/onos/core/main/IOFSwitchPortListener.java b/src/main/java/net/onrc/onos/core/main/IOFSwitchPortListener.java
index ba21ffc..edf4539 100644
--- a/src/main/java/net/onrc/onos/core/main/IOFSwitchPortListener.java
+++ b/src/main/java/net/onrc/onos/core/main/IOFSwitchPortListener.java
@@ -8,7 +8,7 @@
 import org.openflow.protocol.OFPhysicalPort;
 
 /**
- * @author y-higuchi
+ * Extra event handler added to IOFSwitchListener by ONOS.
  */
 public interface IOFSwitchPortListener extends IOFSwitchListener {
 
diff --git a/src/main/java/net/onrc/onos/core/main/IOnosRemoteSwitch.java b/src/main/java/net/onrc/onos/core/main/IOnosRemoteSwitch.java
index 1218555..54d9372 100644
--- a/src/main/java/net/onrc/onos/core/main/IOnosRemoteSwitch.java
+++ b/src/main/java/net/onrc/onos/core/main/IOnosRemoteSwitch.java
@@ -6,7 +6,8 @@
 import net.floodlightcontroller.core.IOFSwitch;
 
 /**
- * @author y-higuchi
+ * Additional interface added to IOFSwitch by ONOS
+ * to represent remote Switch.
  */
 public interface IOnosRemoteSwitch extends IOFSwitch {
 
diff --git a/src/main/java/net/onrc/onos/core/registry/IControllerRegistryService.java b/src/main/java/net/onrc/onos/core/registry/IControllerRegistryService.java
index e06f158..5af1ac1 100644
--- a/src/main/java/net/onrc/onos/core/registry/IControllerRegistryService.java
+++ b/src/main/java/net/onrc/onos/core/registry/IControllerRegistryService.java
@@ -19,8 +19,6 @@
  * control of a switch (MASTER role) at once. Controllers therefore need a
  * mechanism that enables them to decide who should control a each switch.
  * The registry service provides this mechanism.
- *
- * @author jono
  */
 public interface IControllerRegistryService extends IFloodlightService {
 
diff --git a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
index 7bc2a75..103438e 100644
--- a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
+++ b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
@@ -52,8 +52,6 @@
 /**
  * A registry service that uses Zookeeper. All data is stored in Zookeeper,
  * so this can be used as a global registry in a multi-node ONOS cluster.
- *
- * @author jono
  */
 public class ZookeeperRegistry implements IFloodlightModule,
                                           IControllerRegistryService {
diff --git a/src/main/java/net/onrc/onos/core/topology/DeviceImpl.java b/src/main/java/net/onrc/onos/core/topology/DeviceImpl.java
index 6bb133a..fc1628e 100644
--- a/src/main/java/net/onrc/onos/core/topology/DeviceImpl.java
+++ b/src/main/java/net/onrc/onos/core/topology/DeviceImpl.java
@@ -6,7 +6,7 @@
 import net.floodlightcontroller.util.MACAddress;
 
 /**
- * @author Toshio Koide (t-koide@onlab.us)
+ * Device Object stored in In-memory Topology.
  */
 public class DeviceImpl extends TopologyObject implements Device {
 
