Stenogram Sejmu · 2026-06-17

Michał Gramatyka

Kadencja 10 · posiedzenie 60 · wypowiedź 166

Profil posła

Klub podany w głosowaniu imiennym tego posła w tym samym dniu i posiedzeniu: Polska2050 · dowód głosu. Nie jest to pełna historia członkostwa.

Pełna wypowiedź

10. kadencja, 60. posiedzenie, 1. dzień (17-06-2026) 8. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o poselskim projekcie ustawy o zmianie ustawy o ochronie praw nabywcy lokalu mieszkalnego lub domu jednorodzinnego oraz Deweloperskim Funduszu Gwarancyjnym (druki nr 2468 i 2638). Sekretarz Stanu w Ministerstwie Cyfryzacji Michał Gramatyka: Szanowny Panie Marszałku! Panie Posłanki! Panowie Posłowie! Bardzo dziękuję za wszystkie pozytywne odniesienia, które zostały wyrażone z tej mównicy i dotyczą tego projektu ustawy. Proszę pozwolić, że odniosę się do kilku pytań, począwszy od tego, które zostało zadane jeszcze w dyskusji klubowej, zwerbalizowane przez reprezentanta Prawa i Sprawiedliwości. Ceny transakcyjne mieszkań będą ujawnione w Portalu DOM. W 2025 r., dokładnie 17 października, polski Sejm przyjął ustawę o utworzeniu Portalu DOM, czyli portalu danych o obrocie nieruchomościami. Właścicielem tego wątku legislacyjnego jest Ministerstwo Rozwoju i Technologii. Z moich informacji wynika, że ten Portal DOM się pisze. W tym Portalu DOM będą dwa rodzaje dostępu: dostęp powszechny i dostęp na wniosek. Tam będzie można znaleźć właśnie średnie ceny transakcyjne nieruchomości. To przedłożenie, o którym rozmawiamy, nie jest po to, żeby pokazywać ceny transakcyjne, a jest właśnie po to, żeby pokazywać ceny ofertowe. Zwalcza w ten sposób patologię, z którą mieliśmy do czynienia jeszcze przed kilkoma miesiącami, polegającą na tym, że ceny ofertowe nie znajdowały się np. na stronach internetowych deweloperów i, żeby poznać cenę ofertową, potencjalny klient musiał umawiać się z akwizytorem, z przedstawicielem dewelopera, dokonywać oględzin lokalu, ewentualnie rozmawiać na temat tej ceny. Jedno z mediów, dużych polskich mediów, przeprowadziło badanie polegające na tym, że wysyłano tzw. tajemniczych klientów do deweloperów. Cena tych samych mieszkań, w zależności od tego, w jaki sposób prezentował się potencjalny klient, potrafiła się różnić nawet o ponad 20%. To z tą patologią walczymy, zmuszając deweloperów do publikacji cen ofertowych nieruchomości na ich stronach internetowych, a przy okazji w serwisie dane.gov.pl. I tu kolejny wątek. Format danych jest uzgodniony z organizacją deweloperów. Polski Związek Firm Deweloperskich współpracuje z nami od początku przy opracowywaniu formatu tych danych. To jest dobra współpraca. Traktujemy się z pełnym szacunkiem i mamy zaufanie odnośnie do tego, że przedsiębiorcy podadzą te dane. Jeżeli ich nie podadzą albo jeżeli zafałszują te dane, to oczywiście będzie stanowiło to czyn nieuczciwej konkurencji i wtedy wejdzie do akcji Urząd Ochrony Konkurencji i Konsumentów. Pojawiło się kilka bardzo ciekawych pytań, np. pytanie pana posła Józefaciuka: Jaka będzie realna przydatność tych danych w portalu dane.gov.pl? Od razu próbuję odpowiedzieć: Portal dane.gov.pl nie służy ludziom, tzn. takim ludziom jak pan poseł czy ja. Portal dane.gov.pl służy algorytmom, służy automatom. W idei publikowania danych w portalu dane.gov.pl chodzi o to, żeby one nadawały się do maszynowego przetwarzania. Tak jak algorytmy są silnikiem nowoczesnej gospodarki, tak dane są paliwem, ale żeby te dane mogły być paliwem, muszą być danymi wysokiej jakości. Nam właśnie chodzi o zachowanie wysokiej jakości tych danych. Z ogromną estymą i z wielkim szacunkiem odnoszę się do pytania mojej krajanki z Podbeskidzia pani posłanki Małgosi Pępek. 3-miesięczne vacatio legis w rzeczywistości będzie dłuższe. Rząd będzie musiał wydać rozporządzenie określające format tych danych, więc przedsiębiorcy będą mieli wystarczająco dużo czasu na przygotowanie się do tego. Nie spowoduje to wzrostu kosztów po stronie przedsiębiorców, bo oni już dziś te dane raportują. Zresztą przedstawiciele deweloperów uczestniczyli w posiedzeniu komisji i tam też bardzo pozytywnie wypowiadali się na temat tych uregulowań. Bardzo konkretne pytanie zadała pani posłanka Lidia Czechak. Było ono związane z formatami przekazywania tych danych. W świecie IT to jest tak, że najprościej byłoby te dane przekazywać w formacie CSV, czyli w takim uniwersalnym formacie nadającym się do przetwarzania przez arkusze kalkulacyjne. Stosujemy też formaty XML, stosujemy format JSON. To są wszystko formaty, które stosuje się właśnie w publikacji danych otwartych. Tutaj też jesteśmy otwarci. Współpraca i negocjacje z deweloperami na pewno zaprowadzą nas do odpowiedniego określenia warunków technicznych tego pliku. Umówiłem się ze sprawozdawcą komisji, że zostawię pole także jemu. Widzę, że pan marszałek się zgadza. Jeszcze raz bardzo dziękuję za wszystkie dobre słowa na temat tego przedłożenia. Dziękuję. (Oklaski) Przebieg posiedzenia

Otwórz zachowany oryginał · Źródło urzędowe

Dowód treści wypowiedzi

Dowód kolejności na liście dnia

Kontekst w stenogramie

  1. Wcześniej · wypowiedź 164 Anna Wojciechowska 10. kadencja, 60. posiedzenie, 1. dzień (17-06-2026) 8. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o poselskim projekcie ustawy o zmianie ustawy o ochronie praw nabywcy lokalu mieszk
  2. Wcześniej · wypowiedź 165 Anna Paluch 10. kadencja, 60. posiedzenie, 1. dzień (17-06-2026) 8. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o poselskim projekcie ustawy o zmianie ustawy o ochronie praw nabywcy lokalu mieszk
  3. Później · wypowiedź 167 Łukasz Osmalak 10. kadencja, 60. posiedzenie, 1. dzień (17-06-2026) 8. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o poselskim projekcie ustawy o zmianie ustawy o ochronie praw nabywcy lokalu mieszk
  4. Później · wypowiedź 168 Anna Gembicka 10. kadencja, 60. posiedzenie, 1. dzień (17-06-2026) 8. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o poselskim projekcie ustawy o zmianie ustawy o ochronie praw nabywcy lokalu mieszk
1. (6.07ms; exec 6.02 + fetch 0.05; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 16752 LIMIT 1
2. (4.29ms; exec 4.26 + fetch 0.04; rows 1) WITH ranked AS ( SELECT extraction.id, extraction.source_artifact_id, extraction.quality_state, ROW_NUMBER() OVER (PARTITION BY extraction.source_artifact_id ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC) AS preference FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id IN (25860) AND run.state = 'completed' ) SELECT ranked.source_artifact_id, ranked.id, ranked.quality_state, segment.source_text AS source_text FROM ranked LEFT JOIN text_segments segment ON segment.extraction_id = ranked.id WHERE ranked.preference = 1 ORDER BY ranked.source_artifact_id, segment.ordinal
3. (3.17ms; exec 3.13 + fetch 0.05; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal, binding.artifact_id FROM sejm_transcript_day_statements dayStatement JOIN sejm_statements statement ON statement.object_id = dayStatement.statement_id LEFT JOIN documents document ON document.owner_object_id = dayStatement.day_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', statement.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.language = 'und' AND binding.current_selector_sha IS NOT NULL WHERE dayStatement.day_id = 16585 AND dayStatement.day_revision_id = 16203 AND dayStatement.ordinal BETWEEN 164 AND 168 AND statement.object_id <> 16752 ORDER BY dayStatement.ordinal
4. (1.57ms; exec 1.54 + fetch 0.03; rows 4) WITH ranked AS ( SELECT extraction.id, extraction.source_artifact_id, extraction.quality_state, ROW_NUMBER() OVER (PARTITION BY extraction.source_artifact_id ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC) AS preference FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id IN (25858, 25859, 25861, 25862) AND run.state = 'completed' ) SELECT ranked.source_artifact_id, ranked.id, ranked.quality_state, LEFT(segment.source_text, 240) AS source_text FROM ranked LEFT JOIN text_segments segment ON segment.extraction_id = ranked.id WHERE ranked.preference = 1 ORDER BY ranked.source_artifact_id, segment.ordinal
5. (28.61ms; exec 28.56 + fetch 0.05; rows 1) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 60 AND individual.mp_number = 117 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-06-17' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
PHP: 48.9ms | App: 48.7ms | DB: 43.7ms (5, rows: 11) [exec: 43.5ms, fetch: 0.2ms] | View: 0.3ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.34ms) /app/templates/speeches/show.php
/app/public/index.php
/app/vendor/autoload.php
/app/vendor/composer/autoload_real.php
/app/vendor/composer/platform_check.php
/app/vendor/composer/ClassLoader.php
/app/vendor/composer/autoload_static.php
/app/vendor/symfony/deprecation-contracts/function.php
/app/vendor/symfony/polyfill-php83/bootstrap.php
/app/lib/PFrame.php
/app/config/credentials/local.php
/app/src/Http/PublicResponseCache.php
/app/src/Http/AuthRoutes.php
/app/src/Http/ReviewDecisionRoutes.php
/app/src/Http/TopicDecisionRoutes.php
/app/src/Http/WatchRoutes.php
/app/src/Http/SpeechController.php
/app/src/Overview/SpeechReadModel.php
/app/src/Text/TextSearch.php
/app/templates/layout.php