GET https://kbin.spritesserver.nl/m/opensource@lemmy.ml/t/27737/Is-my-smart-thermostat-violating-the-GPL/active

Components

24 Twig Components
50 Render Count
437 ms Render Time
22.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 28.14ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
4 0.71ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.70ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
3 3.89ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
2 0.28ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
2 0.94ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
2 2.09ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.37ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 71.49ms
entries_cross
"App\Twig\Components\EntriesCrossComponent"
components/_cached.html.twig
1 75.52ms
editor_toolbar
"App\Twig\Components\EditorToolbarComponent"
components/editor_toolbar.html.twig
1 0.29ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
1 73.05ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
1 0.20ms
entry_comments_nested
"App\Twig\Components\EntryCommentsNestedComponent"
components/_cached.html.twig
1 2.76ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.45ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 97.53ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 32.44ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 10.54ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 4.51ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 24.43ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 15.20ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 15.73ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 3.53ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 15.67ms

Render calls

entry App\Twig\Components\EntryComponent 22.0 MiB 71.49 ms
Input props
[
  "entry" => App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
  "isSingle" => true
  "showShortSentence" => false
  "showBody" => true
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#2960
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2961 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
  +isSingle: true
  +showShortSentence: false
  +showBody: true
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 22.0 MiB 0.32 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "megaman@discuss.tchncs.de"
    +username: "@megaman@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729477871 {#1519
      date: 2024-10-21 04:31:11.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 43584
    -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "megaman@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/megaman"
    +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "megaman"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1706048117 {#1515
      date: 2024-01-23 23:15:17.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1693452168 {#1518
      date: 2023-08-31 05:22:48.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#3149
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "megaman@discuss.tchncs.de"
    +username: "@megaman@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729477871 {#1519
      date: 2024-10-21 04:31:11.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 43584
    -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "megaman@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/megaman"
    +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "megaman"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1706048117 {#1515
      date: 2024-01-23 23:15:17.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1693452168 {#1518
      date: 2023-08-31 05:22:48.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 22.0 MiB 0.26 ms
Input props
[
  "date" => DateTimeImmutable @1704250964 {#1858
    date: 2024-01-03 04:02:44.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3219
  +date: DateTimeImmutable @1704250964 {#1858
    date: 2024-01-03 04:02:44.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 22.0 MiB 0.15 ms
Input props
[
  "createdAt" => DateTimeImmutable @1704250964 {#1858
    date: 2024-01-03 04:02:44.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3283
  +createdAt: DateTimeImmutable @1704250964 {#1858
    date: 2024-01-03 04:02:44.0 +01:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 22.0 MiB 0.49 ms
Input props
[
  "subject" => App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3348
  +subject: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 22.0 MiB 1.10 ms
Input props
[
  "subject" => App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3414
  +formDest: "entry"
  +subject: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entries_cross App\Twig\Components\EntriesCrossComponent 22.0 MiB 75.52 ms
Input props
[
  "entry" => App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\EntriesCrossComponent {#3728
  +entry: App\Entity\Entry {#2412
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "megaman@discuss.tchncs.de"
      +username: "@megaman@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729477871 {#1519
        date: 2024-10-21 04:31:11.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 43584
      -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "megaman@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/megaman"
      +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "megaman"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1706048117 {#1515
        date: 2024-01-23 23:15:17.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1693452168 {#1518
        date: 2023-08-31 05:22:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#264
      +icon: Proxies\__CG__\App\Entity\Image {#245 …}
      +name: "opensource@lemmy.ml"
      +title: "opensource"
      +description: """
        All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
        \n
        Useful Links\n
        ============\n
        \n
        - [Open Source Initiative](https://opensource.org/)\n
        - [Free Software Foundation](https://www.fsf.org/)\n
        - [Electronic Frontier Foundation](https://www.eff.org/)\n
        - [Software Freedom Conservancy](https://sfconservancy.org/)\n
        - [It’s FOSS](https://itsfoss.com/)\n
        \n
        Rules\n
        =====\n
        \n
        - Posts must be relevant to the open source ideology\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        Related Communities\n
        ===================\n
        \n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        \n
        Community icon from opensource.org, but we are not affiliated with them.
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 97
      +entryCommentCount: 1299
      +postCount: 2
      +postCommentCount: 5
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583535 {#274
        date: 2024-10-22 09:52:15.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#236 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
      +entries: Doctrine\ORM\PersistentCollection {#179 …}
      +posts: Doctrine\ORM\PersistentCollection {#137 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
      +bans: Doctrine\ORM\PersistentCollection {#116 …}
      +reports: Doctrine\ORM\PersistentCollection {#102 …}
      +badges: Doctrine\ORM\PersistentCollection {#80 …}
      +logs: Doctrine\ORM\PersistentCollection {#70 …}
      +awards: Doctrine\ORM\PersistentCollection {#1360 …}
      +categories: Doctrine\ORM\PersistentCollection {#1792 …}
      -id: 128
      +apId: "opensource@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/opensource"
      +apPublicUrl: "https://lemmy.ml/c/opensource"
      +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "opensource"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703910302 {#268
        date: 2023-12-30 05:25:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703910301 {#270
        date: 2023-12-30 05:25:01.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Is-my-smart-thermostat-violating-the-GPL"
    +title: "Is my 'smart' thermostat violating the GPL?"
    +url: null
    +body: """
      So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
      \n
      I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
      \n
      I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
      \n
      So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
      \n
      Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
      \n
      However, how would we know if they are violating a license if we don’t know what is running on it?\n
      \n
      I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 3
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712572540 {#2418
      date: 2024-04-08 12:35:40.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 27737
    -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
    -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704261964
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8690251"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704250964 {#1858
      date: 2024-01-03 04:02:44.0 +01:00
    }
  }
  -repository: App\Repository\EntryRepository {#269 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
}
editor_toolbar App\Twig\Components\EditorToolbarComponent 22.0 MiB 0.29 ms
Input props
[
  "id" => "entry_comment_68cc46f06dd190.20493648_body"
]
Attributes
[]
Component
App\Twig\Components\EditorToolbarComponent {#3853
  +id: "entry_comment_68cc46f06dd190.20493648_body"
}
entry_comment App\Twig\Components\EntryCommentComponent 22.0 MiB 73.05 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4072
  +comment: App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 22.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4000
    +avatar: null
    +cover: null
    +email: "rufus@discuss.tchncs.de"
    +username: "@rufus@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729234169 {#4057
      date: 2024-10-18 08:49:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
    +entries: Doctrine\ORM\PersistentCollection {#3994 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
    +posts: Doctrine\ORM\PersistentCollection {#3984 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
    +follows: Doctrine\ORM\PersistentCollection {#4115 …}
    +followers: Doctrine\ORM\PersistentCollection {#4108 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
    +reports: Doctrine\ORM\PersistentCollection {#4114 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
    +violations: Doctrine\ORM\PersistentCollection {#4111 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
    +awards: Doctrine\ORM\PersistentCollection {#4100 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
    +categories: Doctrine\ORM\PersistentCollection {#4101 …}
    -id: 22773
    -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
    +apId: "rufus@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/rufus"
    +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "rufus"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728254912 {#4055
      date: 2024-10-07 00:48:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689082128 {#4054
      date: 2023-07-11 15:28:48.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4170
  +user: App\Entity\User {#4000
    +avatar: null
    +cover: null
    +email: "rufus@discuss.tchncs.de"
    +username: "@rufus@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729234169 {#4057
      date: 2024-10-18 08:49:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
    +entries: Doctrine\ORM\PersistentCollection {#3994 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
    +posts: Doctrine\ORM\PersistentCollection {#3984 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
    +follows: Doctrine\ORM\PersistentCollection {#4115 …}
    +followers: Doctrine\ORM\PersistentCollection {#4108 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
    +reports: Doctrine\ORM\PersistentCollection {#4114 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
    +violations: Doctrine\ORM\PersistentCollection {#4111 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
    +awards: Doctrine\ORM\PersistentCollection {#4100 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
    +categories: Doctrine\ORM\PersistentCollection {#4101 …}
    -id: 22773
    -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
    +apId: "rufus@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/rufus"
    +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "rufus"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728254912 {#4055
      date: 2024-10-07 00:48:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689082128 {#4054
      date: 2023-07-11 15:28:48.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 22.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1704283706 {#4061
    date: 2024-01-03 13:08:26.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4225
  +date: DateTimeImmutable @1704283706 {#4061
    date: 2024-01-03 13:08:26.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 22.0 MiB 0.13 ms
Input props
[
  "createdAt" => DateTimeImmutable @1704283706 {#4061
    date: 2024-01-03 13:08:26.0 +01:00
  }
  "editedAt" => DateTimeImmutable @1712572576 {#3998
    date: 2024-04-08 12:36:16.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4279
  +createdAt: DateTimeImmutable @1704283706 {#4061
    date: 2024-01-03 13:08:26.0 +01:00
  }
  +editedAt: DateTimeImmutable @1712572576 {#3998
    date: 2024-04-08 12:36:16.0 +02:00
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 22.0 MiB 0.20 ms
Input props
[
  "user" => App\Entity\User {#4000
    +avatar: null
    +cover: null
    +email: "rufus@discuss.tchncs.de"
    +username: "@rufus@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729234169 {#4057
      date: 2024-10-18 08:49:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
    +entries: Doctrine\ORM\PersistentCollection {#3994 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
    +posts: Doctrine\ORM\PersistentCollection {#3984 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
    +follows: Doctrine\ORM\PersistentCollection {#4115 …}
    +followers: Doctrine\ORM\PersistentCollection {#4108 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
    +reports: Doctrine\ORM\PersistentCollection {#4114 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
    +violations: Doctrine\ORM\PersistentCollection {#4111 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
    +awards: Doctrine\ORM\PersistentCollection {#4100 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
    +categories: Doctrine\ORM\PersistentCollection {#4101 …}
    -id: 22773
    -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
    +apId: "rufus@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/rufus"
    +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "rufus"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728254912 {#4055
      date: 2024-10-07 00:48:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689082128 {#4054
      date: 2023-07-11 15:28:48.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4335
  +width: 40
  +height: 40
  +user: App\Entity\User {#4000
    +avatar: null
    +cover: null
    +email: "rufus@discuss.tchncs.de"
    +username: "@rufus@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729234169 {#4057
      date: 2024-10-18 08:49:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
    +entries: Doctrine\ORM\PersistentCollection {#3994 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
    +posts: Doctrine\ORM\PersistentCollection {#3984 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
    +follows: Doctrine\ORM\PersistentCollection {#4115 …}
    +followers: Doctrine\ORM\PersistentCollection {#4108 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
    +reports: Doctrine\ORM\PersistentCollection {#4114 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
    +violations: Doctrine\ORM\PersistentCollection {#4111 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
    +awards: Doctrine\ORM\PersistentCollection {#4100 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
    +categories: Doctrine\ORM\PersistentCollection {#4101 …}
    -id: 22773
    -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
    +apId: "rufus@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/rufus"
    +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "rufus"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728254912 {#4055
      date: 2024-10-07 00:48:32.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689082128 {#4054
      date: 2023-07-11 15:28:48.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 22.0 MiB 0.45 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4428
  +subject: App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 22.0 MiB 0.99 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4485
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 22.0 MiB 2.76 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4732
  +comment: App\Entity\EntryComment {#4052
    +user: App\Entity\User {#4000
      +avatar: null
      +cover: null
      +email: "rufus@discuss.tchncs.de"
      +username: "@rufus@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729234169 {#4057
        date: 2024-10-18 08:49:29.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4001 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4003 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3996 …}
      +entries: Doctrine\ORM\PersistentCollection {#3994 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3991 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3989 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3987 …}
      +posts: Doctrine\ORM\PersistentCollection {#3984 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3982 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3977 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3975 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3973 …}
      +follows: Doctrine\ORM\PersistentCollection {#4115 …}
      +followers: Doctrine\ORM\PersistentCollection {#4108 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4098 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4087 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4060 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4118 …}
      +reports: Doctrine\ORM\PersistentCollection {#4114 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4112 …}
      +violations: Doctrine\ORM\PersistentCollection {#4111 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4110 …}
      +awards: Doctrine\ORM\PersistentCollection {#4100 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4103 …}
      +categories: Doctrine\ORM\PersistentCollection {#4101 …}
      -id: 22773
      -password: "$2y$13$YtqjsSR7mfcfB2kA1OhEJuPN0/kNwhgMvYVp/KHXpvvMO6deBxc3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4099 …}
      +apId: "rufus@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/rufus"
      +apPublicUrl: "https://discuss.tchncs.de/u/rufus"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "rufus"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728254912 {#4055
        date: 2024-10-07 00:48:32.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689082128 {#4054
        date: 2023-07-11 15:28:48.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2412
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "megaman@discuss.tchncs.de"
        +username: "@megaman@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729477871 {#1519
          date: 2024-10-21 04:31:11.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 43584
        -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "megaman@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/megaman"
        +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "megaman"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1706048117 {#1515
          date: 2024-01-23 23:15:17.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1693452168 {#1518
          date: 2023-08-31 05:22:48.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#264
        +icon: Proxies\__CG__\App\Entity\Image {#245 …}
        +name: "opensource@lemmy.ml"
        +title: "opensource"
        +description: """
          All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
          \n
          Useful Links\n
          ============\n
          \n
          - [Open Source Initiative](https://opensource.org/)\n
          - [Free Software Foundation](https://www.fsf.org/)\n
          - [Electronic Frontier Foundation](https://www.eff.org/)\n
          - [Software Freedom Conservancy](https://sfconservancy.org/)\n
          - [It’s FOSS](https://itsfoss.com/)\n
          \n
          Rules\n
          =====\n
          \n
          - Posts must be relevant to the open source ideology\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          Related Communities\n
          ===================\n
          \n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          \n
          Community icon from opensource.org, but we are not affiliated with them.
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 97
        +entryCommentCount: 1299
        +postCount: 2
        +postCommentCount: 5
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583535 {#274
          date: 2024-10-22 09:52:15.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#236 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
        +entries: Doctrine\ORM\PersistentCollection {#179 …}
        +posts: Doctrine\ORM\PersistentCollection {#137 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
        +bans: Doctrine\ORM\PersistentCollection {#116 …}
        +reports: Doctrine\ORM\PersistentCollection {#102 …}
        +badges: Doctrine\ORM\PersistentCollection {#80 …}
        +logs: Doctrine\ORM\PersistentCollection {#70 …}
        +awards: Doctrine\ORM\PersistentCollection {#1360 …}
        +categories: Doctrine\ORM\PersistentCollection {#1792 …}
        -id: 128
        +apId: "opensource@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/opensource"
        +apPublicUrl: "https://lemmy.ml/c/opensource"
        +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "opensource"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703910302 {#268
          date: 2023-12-30 05:25:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703910301 {#270
          date: 2023-12-30 05:25:01.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Is-my-smart-thermostat-violating-the-GPL"
      +title: "Is my 'smart' thermostat violating the GPL?"
      +url: null
      +body: """
        So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.\n
        \n
        I have a ‘smart’ thermostat that came with the new HVAC system. It is the [AprilAire 8920W](https://www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w). It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?\n
        \n
        I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this [‘GPL Code Center’](https://www.linksys.com/ca/support-article/?articleNum=50485). I’m finding nothing of the sort from AprilAire, though…\n
        \n
        So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?\n
        \n
        Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.\n
        \n
        However, how would we know if they are violating a license if we don’t know what is running on it?\n
        \n
        I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 3
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1712572540 {#2418
        date: 2024-04-08 12:35:40.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 27737
      -titleTs: "'gpl':7 'smart':3 'thermostat':4 'violat':5"
      -bodyTs: "'/ca/support-article/?articlenum=50485).':128 '/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':39 '8920w':36 'access':209 'ago':106 'also':222,284 'aprilair':35,137 'ask':19 'assum':142 'avail':113 'bit':301 'built':59 'busybox':152 'came':26 'cannot':53 'cd':185 'center':125 'cloud':296 'code':124,170 'common':154 'compani':58 'comput':50 'connect':44 'control':291 'copi':269 'copy-left':268 'curious':263 'ed':157 'els':67 'entir':212 'everyth':66 'find':131 'firmwar':110,213,230 'folk':218 'found':108,277 'furnac':57 'give':182,207 'gpl':94,123,156,267 'gpl-ed':155 'hack':287 'henc':15 'hole':103 'howev':240 'hvac':30 'imagin':54 'includ':82,194 'instal':228 'issu':239 'kernel':64 'know':3,244,255 'least':173 'left':270 'librari':83 'licens':14,238,250,271 'like':73,162 'link':196 'linksi':116,119 'linux':77,149 'littl':5 'lot':48 'm':18,130,262 'manual':199,231 'may':234 'motherfuckin':295 'need':180,205,224 'new':29 'noth':132 'oblig':166 'os':62 'page':189 'piec':175 'poor':9 'provid':168 'rabbit':102 'rabbit-hol':101 're':227 're-instal':226 'right':178 'router':100,112,163,217 'run':76,148,258 'say':151 'scratch':69 'seem':71 'separ':302 'site':120 'small':160 'smart':23,145 'softwar':13,177 'someon':278 'sometim':223 'sort':135 'system':31,161 'thermostat':24,146,289 'thing':51 'though':138 'tool':86,158 'touchscreen':43 'understand':10 'version':91 'violat':248,281 'want':285 'websit':117,192 'week':105 'well':215 'went':97 'wifi':46 'without':293 'wonder':274 'work':272 'would':242 'www.aprilaire.com':38 'www.aprilaire.com/whole-house-products/thermostats/old-wifi-thermostat/model-8920w).':37 'www.linksys.com':127 'www.linksys.com/ca/support-article/?articlenum=50485).':126 'yea':78,95"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1704261964
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/post/8690251"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704250964 {#1858
        date: 2024-01-03 04:02:44.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.\n
      \n
      [en.wikipedia.org/…/Comparison_of_real-time_operat…](https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems)\n
      \n
      This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1704283706 {#4062
      date: 2024-01-03 13:08:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
      "@megaman@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4050 …}
    +nested: Doctrine\ORM\PersistentCollection {#4048 …}
    +votes: Doctrine\ORM\PersistentCollection {#4046 …}
    +reports: Doctrine\ORM\PersistentCollection {#4044 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4012 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4016 …}
    -id: 287129
    -bodyTs: "'/comparison_of_real-time_operat':30 '/wiki/comparison_of_real-time_operating_systems)':33 'also':61 'buy':93 'choic':41 'code':28,102 'commerci':15 'compani':91 'compar':56 'complex':89 'connect':75 'copyleft':49 'could':60 'devic':12,58 'doesn':18 'embed':11 'en.wikipedia.org':29,32 'en.wikipedia.org/wiki/comparison_of_real-time_operating_systems)':31 'especi':13 'framework':9 'gpl':27 'implement':63 'instead':96 'licens':50 'like':24 'linux':25 'list':37 'mani':39,43 'necessarili':2 'network':72,83 'network-stack':71 'non':48 'non-copyleft':47 'oper':6 'outsid':79 'product':16 'simpl':57 'solut':95 'someth':23,85 'stack':73 'system':7 'taken':69 'thermostat':53 'thing':65 'think':82 'world':80 'write':98"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/6099755"
    +editedAt: DateTimeImmutable @1712572576 {#3998
      date: 2024-04-08 12:36:16.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704283706 {#4061
      date: 2024-01-03 13:08:26.0 +01:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#555 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 22.0 MiB 0.22 ms
Input props
[
  "label" => "Sidebar position"
  "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION"
  "values" => [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  "defaultValue" => "RIGHT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#4871
  +label: "Sidebar position"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION"
  +values: [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  +defaultValue: "RIGHT"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.19 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4935
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.13 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5000
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.13 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5056
  +label: "Infinite scrolling"
  +help: "Automatically load more content when you reach the bottom of the page."
  +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.22 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5115
  +label: "Sticky navbar"
  +help: "The navbar will stick to the top of the page when you scroll down."
  +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.12 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5171
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.12 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5227
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 22.0 MiB 0.22 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5285
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.14 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5348
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 22.0 MiB 0.20 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5406
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 22.0 MiB 0.14 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5462
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 22.0 MiB 0.14 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5518
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.12 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5574
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.13 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5630
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.12 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5686
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.12 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5742
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.13 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5798
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.16 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5854
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_POSTS_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 0.12 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5910
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 22.0 MiB 0.15 ms
Input props
[
  "label" => "Comment reply position"
  "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION"
  "values" => [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  "defaultValue" => "TOP"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#5966
  +label: "Comment reply position"
  +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  +settingsKey: "KBIN_COMMENTS_REPLY_POSITION"
  +values: [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  +defaultValue: "TOP"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 22.0 MiB 26.19 ms
Input props
[
  "label" => "Show Comment Avatars"
  "help" => "Display/hide user avatars when viewing comments on a single thread or post."
  "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6024
  +label: "Show Comment Avatars"
  +help: "Display/hide user avatars when viewing comments on a single thread or post."
  +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR"
  +defaultValue: true
  +reloadRequired: true
}
user_actions App\Twig\Components\UserActionsComponent 22.0 MiB 0.45 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "megaman@discuss.tchncs.de"
    +username: "@megaman@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729477871 {#1519
      date: 2024-10-21 04:31:11.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 43584
    -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "megaman@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/megaman"
    +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "megaman"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1706048117 {#1515
      date: 2024-01-23 23:15:17.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1693452168 {#1518
      date: 2023-08-31 05:22:48.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#6101
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "megaman@discuss.tchncs.de"
    +username: "@megaman@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729477871 {#1519
      date: 2024-10-21 04:31:11.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 43584
    -password: "$2y$13$UCyQci5EMr5R9pmYJisGt.9HGzCYO5je2rqmMKGKOdbsjWw5OZA9O"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "megaman@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/megaman"
    +apPublicUrl: "https://discuss.tchncs.de/u/megaman"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "megaman"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1706048117 {#1515
      date: 2024-01-23 23:15:17.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1693452168 {#1518
      date: 2023-08-31 05:22:48.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 22.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1704250964 {#1858
    date: 2024-01-03 04:02:44.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6162
  +date: DateTimeImmutable @1704250964 {#1858
    date: 2024-01-03 04:02:44.0 +01:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 22.0 MiB 97.53 ms
Input props
[
  "magazine" => App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#6218
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 22.0 MiB 32.44 ms
Input props
[
  "magazine" => App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#6276
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 22.0 MiB 0.17 ms
Input props
[
  "date" => DateTimeImmutable @1703910301 {#270
    date: 2023-12-30 05:25:01.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6485
  +date: DateTimeImmutable @1703910301 {#270
    date: 2023-12-30 05:25:01.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 22.0 MiB 3.42 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#6544
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#6591
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6593 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6595 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6597 …}
    +entries: Doctrine\ORM\PersistentCollection {#6599 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6601 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6603 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6605 …}
    +posts: Doctrine\ORM\PersistentCollection {#6607 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6609 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6611 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6613 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6615 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6617 …}
    +follows: Doctrine\ORM\PersistentCollection {#6619 …}
    +followers: Doctrine\ORM\PersistentCollection {#6621 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6623 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6625 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6627 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6629 …}
    +reports: Doctrine\ORM\PersistentCollection {#6631 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6633 …}
    +violations: Doctrine\ORM\PersistentCollection {#6635 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6637 …}
    +awards: Doctrine\ORM\PersistentCollection {#6639 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6641 …}
    +categories: Doctrine\ORM\PersistentCollection {#6643 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6645 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#6592
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#6562
  +user: Proxies\__CG__\App\Entity\User {#6544
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#6591
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6593 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6595 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6597 …}
    +entries: Doctrine\ORM\PersistentCollection {#6599 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6601 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6603 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6605 …}
    +posts: Doctrine\ORM\PersistentCollection {#6607 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6609 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6611 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6613 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6615 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6617 …}
    +follows: Doctrine\ORM\PersistentCollection {#6619 …}
    +followers: Doctrine\ORM\PersistentCollection {#6621 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6623 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6625 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6627 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6629 …}
    +reports: Doctrine\ORM\PersistentCollection {#6631 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6633 …}
    +violations: Doctrine\ORM\PersistentCollection {#6635 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6637 …}
    +awards: Doctrine\ORM\PersistentCollection {#6639 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6641 …}
    +categories: Doctrine\ORM\PersistentCollection {#6643 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6645 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#6592
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 22.0 MiB 10.54 ms
Input props
[
  "magazine" => "opensource@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#6753
  +limit: 4
  +tag: null
  +magazine: "opensource@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#332 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 22.0 MiB 4.51 ms
Input props
[
  "magazine" => App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#6840
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_categories App\Twig\Components\RelatedCategoriesComponent 22.0 MiB 24.43 ms
Input props
[
  "magazine" => "opensource@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#6899
  +limit: 4
  +tag: null
  +magazine: "opensource@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#6900 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 22.0 MiB 15.20 ms
Input props
[
  "magazine" => "opensource@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#6970
  +limit: 4
  +tag: null
  +magazine: "opensource@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#6969 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#388 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 22.0 MiB 15.73 ms
Input props
[
  "magazine" => "opensource@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#7039
  +limit: 4
  +tag: null
  +magazine: "opensource@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#269 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#388 …}
}
support_us_block App\Twig\Components\SupportUsBlock 22.0 MiB 3.53 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#7108
  +subject: ? App\Entity\Contracts\VotableInterface
  +url: ? string
  -twig: Twig\Environment {#1252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -partnerBlockRepository: App\Repository\PartnerBlockRepository {#7109 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 22.0 MiB 15.67 ms
Input props
[
  "magazine" => App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#7197
  +magazine: App\Entity\Magazine {#264
    +icon: Proxies\__CG__\App\Entity\Image {#245 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#274
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#236 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#232 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …}
    +entries: Doctrine\ORM\PersistentCollection {#179 …}
    +posts: Doctrine\ORM\PersistentCollection {#137 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#199 …}
    +bans: Doctrine\ORM\PersistentCollection {#116 …}
    +reports: Doctrine\ORM\PersistentCollection {#102 …}
    +badges: Doctrine\ORM\PersistentCollection {#80 …}
    +logs: Doctrine\ORM\PersistentCollection {#70 …}
    +awards: Doctrine\ORM\PersistentCollection {#1360 …}
    +categories: Doctrine\ORM\PersistentCollection {#1792 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#268
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#270
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#332 …}
}