You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25-38Lines changed: 25 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ A high-performance ROS2 bridge server that forwards ROS2 topic content over WebS
8
8
9
9
## Overview
10
10
11
-
`pj_ros_bridge` enables clients to subscribe to ROS2 topics and receive aggregated messages at 50 Hz without needing a full ROS2/DDS installation. This is particularly useful for visualization tools like PlotJuggler, remote monitoring applications, and lightweight clients that need access to ROS2 data.
11
+
`plotjuggler_ros_bridge` enables clients to subscribe to ROS2 topics and receive aggregated messages at 50 Hz without needing a full ROS2/DDS installation. This is particularly useful for visualization tools like PlotJuggler, remote monitoring applications, and lightweight clients that need access to ROS2 data.
@@ -138,15 +138,15 @@ For the full API protocol documentation (commands, responses, binary wire format
138
138
Another process is using the port. Either kill the conflicting process or use a custom port:
139
139
140
140
```bash
141
-
ros2 run pj_ros_bridge pj_ros_bridge_node --ros-args -p port:=9090
141
+
ros2 run plotjuggler_ros_bridge plotjuggler_ros_bridge_node --ros-args -p port:=9090
142
142
```
143
143
144
144
### Client receives no data
145
145
146
-
1. Verify server is running: `ps aux | grep pj_ros_bridge`
146
+
1. Verify server is running: `ps aux | grep plotjuggler_ros_bridge`
147
147
2. Check topics are being published: `ros2 topic list`
148
148
3. Verify heartbeat is being sent (required every 1 second)
149
-
4. Check server logs: `ros2 run pj_ros_bridge pj_ros_bridge_node --ros-args --log-level debug`
149
+
4. Check server logs: `ros2 run plotjuggler_ros_bridge plotjuggler_ros_bridge_node --ros-args --log-level debug`
150
150
151
151
### "Failed to get schema for topic" error
152
152
@@ -161,77 +161,64 @@ ros2 interface show <package_name>/msg/<MessageType>
161
161
The client stopped sending heartbeats. Ensure the client sends a heartbeat every 1 second. The default timeout is 10 seconds. Increase if needed:
162
162
163
163
```bash
164
-
ros2 run pj_ros_bridge pj_ros_bridge_node --ros-args -p session_timeout:=20.0
164
+
ros2 run plotjuggler_ros_bridge plotjuggler_ros_bridge_node --ros-args -p session_timeout:=20.0
165
165
```
166
166
167
167
## License
168
168
169
-
**pj_ros_bridge** is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
169
+
**plotjuggler_ros_bridge** is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
170
170
171
171
Copyright (C) 2026 Davide Faconti
172
172
173
173
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
174
174
175
175
See the [LICENSE](LICENSE) file for the full license text.
176
176
177
-
### License FAQ
177
+
-----
178
178
179
-
#### Can I use this software commercially?
179
+
## License FAQ
180
+
181
+
### Can I use this software commercially?
180
182
181
183
**Yes, absolutely.** The AGPL does not restrict commercial use. You can:
182
-
- Use pj_ros_bridge in commercial products and services
184
+
- Use plotjuggler_ros_bridge in commercial products and services
183
185
- Charge customers for services that use this software
184
186
- Deploy it in production environments for profit
185
187
186
188
The AGPL only requires that if you **distribute modified versions** (or provide them as a network service), you must share those modifications under the same license.
187
189
188
-
####Does using pj_ros_bridge affect my proprietary software?
190
+
### Does using plotjuggler_ros_bridge affect my proprietary software?
189
191
190
-
**No, it does not.** Because pj_ros_bridge is a **standalone application** that communicates via inter-process communication (WebSocket), it does not impose license restrictions on:
192
+
**No, it does not.** Because plotjuggler_ros_bridge is a **standalone application** that communicates via inter-process communication (WebSocket), it does not impose license restrictions on:
191
193
- Your ROS2 nodes and packages
192
194
- Client applications connecting to the bridge
193
195
- Other software running on the same system
194
196
- Proprietary code that publishes to or subscribes from ROS2 topics
195
197
196
-
The AGPL "copyleft" provisions only apply to pj_ros_bridge itself and any modifications you make to it.
198
+
The AGPL "copyleft" provisions only apply to plotjuggler_ros_bridge itself and any modifications you make to it.
197
199
198
-
####When do I need to share my code?
200
+
### When do I need to share my code?
199
201
200
-
You must share modifications to pj_ros_bridge only if you:
202
+
You must share modifications to plotjuggler_ros_bridge only if you:
201
203
202
204
1.**Distribute** modified versions to others (e.g., shipping a modified binary), OR
203
205
2.**Provide the modified software as a network service** to external users
204
206
205
207
You do **NOT** need to share code if you:
206
-
- Use pj_ros_bridge unmodified (even commercially)
208
+
- Use plotjuggler_ros_bridge unmodified (even commercially)
207
209
- Modify it for internal use only within your organization
208
210
- Connect proprietary clients or ROS2 nodes to the bridge
209
211
210
-
#### What if I modify pj_ros_bridge for internal use?
211
-
212
-
**No obligations.** Internal modifications that are not distributed or provided as a service to external parties do not trigger any AGPL requirements. You can keep your internal improvements private.
213
-
214
212
#### What about the AGPL "network" clause?
215
213
216
214
The AGPL's network provision states that users who interact with the software over a network should have access to the source code. However, this only applies if you:
217
215
218
216
1.**Modify** the software, AND
219
217
2.**Provide it as a service** to external users
220
218
221
-
If you're using the **unmodified** version, there are no source code disclosure obligations, even if accessed over a network.
222
-
223
-
#### Why AGPL instead of a more permissive license?
224
-
225
-
The AGPL ensures that improvements to pj_ros_bridge benefit the entire community. If someone builds upon this work and shares it with others, those improvements remain open source. This creates a sustainable ecosystem where everyone contributes back.
226
-
227
-
For users who simply want to use the bridge (even commercially), the AGPL functions like any permissive license.
228
-
229
219
#### I'm still concerned about licensing. What should I do?
230
220
231
-
If you're using pj_ros_bridge **unmodified**, you have nothing to worry about - there are zero licensing obligations.
232
-
233
-
If you're planning to **modify and redistribute** it, the AGPL simply requires you to share those modifications. This is a reasonable trade-off that helps the open source community grow.
234
-
221
+
If you're using plotjuggler_ros_bridge **unmodified**, you have nothing to worry about - there are zero licensing obligations.
235
222
If still concerned, contact me for alternative licensing options.
0 commit comments